COMP3311 23T3 |
Assignment 2 Grades and Rules |
Database Systems |
[Specification] [Database] [SQL Schema] [Grades+Rules] [Examples] [Testing] [Submitting] [Fixes+Updates]
This document contains a detailed description of how different kinds of rules are defined and what effects grades have in various contexts.
Grades have different effects in different contexts:
Grades | Req | UOC | WAM |
A,B,C,D (with + or -) | yes | yes | no |
HD,DN,CR,PS | yes | yes | yes |
XE,T | yes | yes | no |
SY,EC,RC | yes | yes | no |
AF,FL,UF,E,F | no | no | yes |
AS,AW,NA,PW,RD | no | no | no |
NF,NC,LE,PE,WD,WJ | no | no | no |
null | no | no | no |
Note: AF has no associated mark; it is treated as if the mark were zero.
What to print on the transcript for each type of grade:
Many of these grades do not appear in the database, and I don't include EM (excluded due to academic misconduct) which isn't really a grade applied to individual courses. If you want to find what all these grades mean, take a look at the UNSW web site.
This gives examples of how different kinds of requirements are defined in the MyMyUNSW database.
Code | Description | Acad Objects | Min/Max |
stream | = satisfied all requirements for a stream | enumerated list of stream codes | # streams to complete |
core | Core Courses; must complete all | list of course codes (no patterns, but may have alternatives (i.e. "{c1;c2}")) | set min/max to null |
elective | Prescribed Electives | list of courses (enumerated or patterns) | must complete UOC between min and max; (max = null) means "at least min UOC"; (min = null) means "up to max UOC"; cannot both be null |
free | Free Electives | special pattern "FREE####"; anything not core or elective or gened can be a free elective | as for "elective" |
gened | General Education | special pattern "GEN#####"; any course not core or elective can be GenEd (priority to courses with course codes like GEN#####**) | typically min = max = 12 |
uoc | Units of Credits needed | no academic objects | (max = null) means "at least min UOC"; (min = null) means "up to max UOC"; cannot both be null |
** In theory, you should reject GEs from within the faculty. Since this database is based on enrolment data, this shouldn't happen. And since doing this checks adds extra complexity, there's no need to check.
You can find out more about the kinds of rules in the database by asking a query on the Requirements table, to see how things are structured.
A critical part of describing requirements is the subject/stream info in the academic object group associated with each rule.
Note that each academic object group contains items of one particular type; either subjects or streams.
For this assignment, academic object groups are defined as comma-separated lists of items. Each item could be either a course or stream code, a choice of several courses, or a pattern, which identifies multiple courses. There are a wide variety of patterns. You should explore the Requirements table to see what's available. To give you a head start, here are some patterns and what they mean:
Definitions such as the above are stored in the acadobjs field in the Requirements table.
Here are the requirements for each program and stream. They were derived from manual reading of the Handbook and some requirements have been simplified compared to the Handbook. It's possible that some rule sets don't accurately reflect the Handbook. All of the examples and test cases are based on what's in the database and may not precisely reflect reality.
# Requirements(id,name,rtype,min_req,max_req,acadobjs,for_stream,for_program) # Requirements.rtype = (core,elective,free,gened,stream,uoc) # Programs 3707 Bachelor of Engineering (Hons) stream 1 1 BE(Hons) Streams AEROAH,BINFAH,CEICAH,CEICDH,COMPBH,CVENAH,CVENBH,ELECAH,ELECCH,GMATDH,MANFBH,MINEAH,MTRNAH,PETRAH,SENGAH,SOLAAH,SOLABH,TELEAH core - - Industrial Training ENGG4999 gened 12 12 General Education GEN##### 3778 Bachelor of Science (Comp Sci) stream 1 1 Comp Sci Majors COMPA1,COMPD1,COMPE1,COMPI1,COMPJ1,COMPN1,COMPS1,COMPY1 core - - Foundational Computing COMP1511,COMP1521,COMP1531,COMP2511,COMP2521 core - - Comp Sci Maths MATH1081,{MATH1131;MATH1141},{MATH1231;MATH1241} core - - Comp Sci Advanced Core {COMP3121;COMP3821},COMP3900,COMP4920 GE 12 12 General Education GEN##### 5543 Graduate Diploma in IT core - - PG Core Courses COMP9021,COMP9024,COMP9311,COMP9331 elective 18 18 ADK Courses COMP4121,COMP4161,COMP4418,COMP6714,COMP9153,COMP9242,COMP9243,COMP9315,COMP9318,COMP9319,COMP9323,COMP9334,COMP9336,COMP9417,COMP9418,COMP9434,COMP9444,COMP9517 elective 30 30 Prescribed Electives COMP4###,COMP6###,COMP9### 7543 Graduate Certificate in IT elective 24 24 Grad Cert Elective Courses BINF9###,COMP4###,COMP6###,COMP9### 8543 Master of Information Technology stream 1 1 MIT Streams COMPAS,COMPBS,COMPCS,COMPDS,COMPES,COMPIS,COMPSS core - - Project Management GSOE9820 core - - PG Core Courses COMP9021,COMP9024,COMP9311,COMP9331 core - - MIT Project Courses {COMP9900;COMP9991} elective 36 36 ADK Courses COMP4121,COMP4161,COMP4418,COMP6714,COMP9153,COMP9242,COMP9243,COMP9315,COMP9318,COMP9319,COMP9323,COMP9334,COMP9336,COMP9417,COMP9418,COMP9434,COMP9444,COMP9517,COMP9992,COMP9993 # Streams COMPA1 Computer Science elective 30 - COMPA1 Computing Electives ENGG2600,ENG3600,ENGG4600,COMP3###,COMP4###,COMP6###,COMP9### free 36 - COMPA1 Free Electives FREE#### COMPAS Artificial Intelligence core - - COMPAS Core {COMP9414;COMP9814} elective 18 18 COMPAS Electives COMP4418,COMP9318,COMP9417,COMP9418,COMP9434,COMP9444,COMP9491,COMP9517,MATH5836 elective - 6 COMPAS Disciplinary Electives BINF6###,BINF9###,COMP4###,COMP6###,COMP9##,GSOE92### COMPBH Computer Engineering core - - Foundational Computing COMP1511,COMP1521,COMP1531,COMP2511,COMP2521 core - - COMPBH Maths {MATH1131;MATH1141},{MATH1231;MATH1241},MATH2069,MATH2099 core - - COMPBH Physics and Electronics {PHYS1121;PHYS1131},{PHYS1221;PHYS1231},ELEC1111,ELEC2133,ELEC2134 core - - COMPBH Design {ENGG1000;DESN1000},DESN2000 core - - COMPBH Advanced Core COMP3211,COMP3222,COMP3231,COMP3601,COMP4601,COMP4920,COMP4951,COMP4952,COMP4953 elective 36 - COMPBH Computing Electives ENGG2600,ENGG3060,ENGG3600,ENGG4600,COMP3###,COMP4###,COMP6###,COMP9### COMPBS Bioinformatics core - - COMPBS Core BINF9010,BINF9020 elective 18 18 COMPBS Electives COMP9318,COMP9417,MATH5846,MATH5856 elective - 6 COMPBS Disciplinary Electives BINF6###,BINF9###,COMP4###,COMP6###,COMP9##,GSOE92### COMPCS Computer Science elective 24 24 COMPCS Disciplinary Electives BINF6###,BINF9###,COMP4###,COMP6###,COMP9##,GSOE92### COMPD1 Database Systems core - - COMPD1 Core COMP3311 elective 18 18 COMPD1 Electives COMP6714,COMP9312,COMP9313,COMP9315,COMP9318,COMP9319 elective 6 - COMPD1 Computing Electives ENGG2600,ENG3600,ENGG4600,COMP3###,COMP4###,COMP6###,COMP9### free 36 - COMPD1 Free Electives FREE#### COMPDS Database Systems elective 18 18 COMPDS Electives COMP6714,COMP9312,COMP9313,COMP9315,COMP9318,COMP9319,COMP9321 elective - 12 COMPDS Disciplinary Electives BINF6###,BINF9###,COMP4###,COMP6###,COMP9##,GSOE92### COMPE1 eCommerce Systems core - - COMPE1 Core COMP3311 elective 18 18 COMPE1 Electives COMP3511,COMP9321,COMP9322,COMP9323 elective 6 - COMPD1 Computing Electives ENGG2600,ENG3600,ENGG4600,COMP3###,COMP4###,COMP6###,COMP9### free 36 - COMPD1 Free Electives FREE#### COMPES eCommerce Systems elective 18 18 COMPES Electives ACCT5922,COMP6324,COMP6452,COMP9313,COMP9321,COMP9322,COMP9323 elective - 12 COMPES Disciplinary Electives BINF6###,BINF9###,COMP4###,COMP6###,COMP9##,GSOE92### COMPI1 Artificial Intelligence core - - COMPI1 Core COMP3411 elective 18 18 COMPI1 Electives COMP3431,COMP4418,COMP9318,COMP9417,COMP9418,COMP9444,COMP9517 elective 6 - COMPI1 Computing Electives ENGG2600,ENG3600,ENGG4600,COMP3###,COMP4###,COMP6###,COMP9### free 36 - COMPI1 Free Electives FREE#### COMPIS Internetworking elective 18 18 COMPIS Electives COMP9332,COMP9334,COMP6733,COMP9336,COMP9337 elective - 12 COMPDS Disciplinary Electives BINF6###,BINF9###,COMP4###,COMP6###,COMP9##,GSOE92### COMPJ1 Programming Languages core - - COMPJ1 Core COMP3161 elective 18 18 COMPJ1 Electives COMP3131,COMP3141,COMP3151,COMP6771 elective 6 - COMPJ1 Computing Electives ENGG2600,ENG3600,ENGG4600,COMP3###,COMP4###,COMP6###,COMP9### free 36 - COMPJ1 Free Electives FREE#### COMPN1 Computer Networks core - - COMPN1 Core COMP3331 elective 18 18 COMPN1 Electives COMP4336,COMP4337,COMP6733,COMP9332,COMP9334 elective 6 - COMPN1 Computing Electives ENGG2600,ENG3600,ENGG4600,COMP3###,COMP4###,COMP6###,COMP9### free 36 - COMPN1 Free Electives FREE#### COMPS1 Embedded Systems core - - COMPS1 Core COMP2121,COMP3222 elective 18 18 COMPS1 Electives COMP3211,COMP3231,COMP3601,COMP4601,COMP9242,COMP9517 elective 6 - COMPS1 Computing Electives ENGG2600,ENG3600,ENGG4600,COMP3###,COMP4###,COMP6###,COMP9### free 30 - COMPS1 Free Electives FREE#### COMPSS Data Science and Engineering elective 6 12 COMPSS Algos/Stats Electives COMP4141,COMP6741,MATH5845,MATH5855,MATH5905,MATH5960 elective 6 12 COMPSS Databases Electives COMP9313,COMP9315,COMP9318,COMP9319,COMP9321 elective 6 12 COMPSS Machine Learning Electives COMP4418,COMP6714,COMP9417,MATH5836,COMP9444 elective - 6 COMPSS Disciplinary Electives BINF6###,BINF9###,COMP4###,COMP6###,COMP9##,GSOE92### COMPY1 Security Engineering core - - COMPY1 Core {COMP6441;COMP6841} elective 18 18 COMPY1 Electives COMP4337,{COMP6443;COMP6843},{COMP6445;COMP6845},COMP6447,COMP6448,COMP6449,COMP9447,MATH3411,TELE3119 elective 6 - COMPY1 Computing Electives ENGG2600,ENG3600,ENGG4600,COMP3###,COMP4###,COMP6###,COMP9### free 30 - COMPY1 Free Electives FREE#### SENGAH Software Engineering core - - Foundational Computing COMP1511,COMP1521,COMP1531,COMP2511,COMP2521 core - - SENGAH Maths MATH1081,{MATH1131;MATH1141},{MATH1231;MATH1241},MATH2400,MATH2859 core - - SENGAH Workshops/Design {DESN1000;ENGG1000},DESN2000,SENG2011,SENG2021,SENG3011 core - - SENGAH Advanced Core COMP2041,COMP3141,COMP3311,COMP3331,SENG4920,COMP4951,COMP4952,COMP4953 elective 36 - SENGAH Discipline Electives ENGG2600,ENGG3060,ENGG3600,ENGG4600,COMP3###,COMP4###,COMP6###,COMP9###,INFS3###,INFS4###,MATH3###,MATH4###,MATH6###,ELEC3###,ELEC4###,TELE3###,TELE4### free 6 6 SENGAH Free Electives FREE####