| COMP3311 25T2 |
Assignment 2 Grades + Rules |
Database Systems |
[Assignment Spec] [SQL Schema] [SQL Data] [Grades+Rules] [Examples] [Testing] [Submitting]
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####