COMP2400: Difference between revisions

From Hitchhiker's Guide to CS
Jump to navigation Jump to search
m (Moved from Misc category to Data category)
Tag: 2017 source edit
m (Recategorise, intro -> misc)
Tag: 2017 source edit
Line 28: Line 28:


[[Category:2000-level courses]]
[[Category:2000-level courses]]
[[Category:Data courses]]
[[Category:Miscellaneous courses]]

Revision as of 22:09, 16 January 2022


Runs Semester 2
Lecturers Dr. Yu Lin, Dr. Qing Wang
Webpage https://programsandcourses.anu.edu.au/2022/course/COMP2400

NOTE: This is currently a draft version. Minor revisions / changes are likely to be made


COMP2400 runs in Semester 2 and serves as an introduction to a popular paradigm of databases known as Relational Databases. If you are studying a Bachelor of Applied Data Analytics, then this course is compulsory and is succeeded by the core data mining and wrangling courses, COMP3425 and COMP3430. For those studying computing, it has a significant overlap with the database content of COMP2420. Otherwise, the course is largely general and suitable even if you aren't directly studying something in the IT field (although the course does require either COMP1100 or COMP1710).

The course begins by introducing students to the basic ideas and terminology needed to understand how relational databases store information in a structured manner. Students will also learn the basics of SQL (Structured Query Language). Students further learn more formal database and query structures, algorithms to change/simplify tables and query optimisation techniques. The course ends by briefly covering techniques used in database security and the basics of database transactions and concurrency control. The course also includes an introduction to NoSQL databases, which are in short, other types of databases which don't use the relational structure.

Although the course will not cover creating complete applications which use databases, there is often an optional workshop run sometime in the semester which goes through how a basic SQL database can be incorporated into a Python/Java/C application. Its a great course for those who may have not worked with databases and are interested in getting to know the basic principles. However, there is definitely room for more depth to be added so if you have worked with or are familiar with SQL databases, there is likely to be little new content you will learn.

The course is generally taught well with the lecturers having taught the course for several years continuously. Lectures are reasonably paced with a high emphasis on examples throughout lecture slides. There is also usually an adequate number of opportunities for one-on-one help both in labs and during office hours which are regularly held. However, a downside is that there is little dependence/guidance using external resources (e.g. A textbook or videos aside from lectures) which some students may find conflicting with how they learn.

The assessments are appropriately written and are comparable with the difficulty of lab and lecture content. So, given you take interest in the course content, then the experience is definitely enjoyable. It is important to keep up with the lecture content as a new topic is introduced each week, often heavily dependent on the previous week's, even more so than your standard COMP course. A positive is however, there is only one, 2-hour lecture each week that you have to keep up with.

There are two assignments (20% + 15%), the first of which tests your understanding of the SQL language and the latter which is centred around the more theoretical and algorithmic components. There is 5% reserved for the short weekly quizzes and lab attendance (which are extremely helpful in consolidating knowledge) and a further 5% for a quiz on the NoSQL content mentioned earlier with the final exam accounting for 55%. Given how much of the grade is dependent on the final exam, it is often a good idea to be familiar with the lab work and your assignment feedback as the exam questions are usually of similar style.