Login

Welcome, Guest. Please login or register.

March 29, 2024, 09:22:16 am

Author Topic: UNSW Course Reviews  (Read 288526 times)  Share 

0 Members and 1 Guest are viewing this topic.

kierisuizahn

  • Trailblazer
  • *
  • Posts: 34
  • Respect: +72
Re: UNSW Course Reviews
« Reply #150 on: September 17, 2019, 11:37:49 am »
+7
Subject Code/Name: MATH3711 - Higher Algebra
Postgraduate Equivalent: MATH5706 - Modern Algebra

Contact Hours: 2x 2hr, 1x 1hr Lecture (1hr lecture was basically a tutorial)

Assumed Knowledge:
Prerequisites:
  • MATH2601 or MATH2501, latter with at least a CR
  • 12 UoC of second-level maths courses with an average of at least 70

Assessment:
  • 15% Assignment - A typed assignment testing some of the more boring parts of the course; a lot more calculation-based than the rest of the course, with an extra conceptual question only for those in the postgraduate stream; pretty simple overall, with some nice tricks to cut down the amount of work you needed to do significantly, and marked for both correctness and presentation
  • 25% Midterm - A 30-minute exam taken during lectures; tested most of the first half of the course, about 50/50 proofs and theorem applications, with a few simple computations at the start; the biggest limiting factor was the time given to complete it, which was too short for the rigour expected in the proofs, in my opinion; the questions themselves weren't very difficult though
  • 60% Final Exam - A two hour written exam, with many proofs; tested the theory of the course very thoroughly, and required a good understanding of the content to perform well; there were a few difficult questions, which were marked leniently due to the time constraints; most of the questions were similar to the past papers, so it was pretty easy to prepare for the exam, with the supplied past exams alone; some of the harder (not time-consuming, just conceptually) tutorial problems were similar to questions in the exam, so doing those would have helped a lot in preparation

Lecture Recordings? No.

Notes/Materials Available: Lecture notes available online. Past final exams provided, some with solutions. Sample midterm provided with solutions. Problem sets with no solutions uploaded online.

Textbook: Note: I don't use textbooks and can't comment on their usefulness. None prescribed, but many references. See course outline for a list.

Lecturer(s): Dr. Mircea Voineagu

Year & Term of completion: 2019 T1

Difficulty: 4.5/5

Overall Rating: 4/5

Your Mark/Grade: 95 HD

Comments: I generally prefer analysis over algebra, but this course was actually really interesting. I probably would have enjoyed it more if it weren't examinable, as the timed assessments kind of sapped the joy out of doing the harder questions, but the course content itself was fun. It's easy to fall behind, since the pace of the course is quite fast, so I'd recommend keeping on top of things if you don't want to be cramming before the exam, and a few of the concepts are conceptually challenging, so having the lecturer explain them helped solidify my understanding. The lecture notes are mostly sufficient, but going to the lectures is recommended regardless.
« Last Edit: August 28, 2021, 10:36:16 am by kierisuizahn »

kierisuizahn

  • Trailblazer
  • *
  • Posts: 34
  • Respect: +72
Re: UNSW Course Reviews
« Reply #151 on: September 17, 2019, 12:36:36 pm »
+8
Subject Code/Name: COMP2511 - Object-Oriented Design and Programming

Contact Hours: 2x 2hr Lecture, 1x 1hr Tutorial + 2hr Lab (Combined)

Assumed Knowledge:
Prerequisites:
Assessment:
  • 10% Labs - Weekly labs, with a break before a few of the project milestones were due; each lab was worth one or two marks (two if the next week's lab was skipped for a milestone), which added to 10 overall; marks were mostly as an incentive to do the labs, as some were similar to the programming questions on the final exam; other than the first lab (testing some git usage), they were all exclusively in Java; only a few of them were annoyingly long-winded, but most of them were very simple, and could be completed within an hour
  • 25% Project - A project done in pairs in the same tutorial group (threes if the tutorial size requires it); the best part of the course by far; this term was making a game given a specification; three milestones, worth 5, 8, and 12 marks respectively; first milestone was just user stories; second milestone was a completely functions backend of the game, documented and with tests; third milestone was the entire frontend coupled with the backend to make the whole game, documented, and with a couple of marks for extensions to the base specification; definitely not something you want to leave to last minute; a good partner would definitely help, but the project could be done alone if worst comes to worst, as long as you considered that contributing equally was assessed; incorrect usage of git could result in marks lost
  • 10% Assignment - A pretty basic assignment involving implementation of a booking system in Java; 6 marks for passing autotests, 3 marks for design (UML), and 1 mark for style (code style and tests); pretty easy task that could be done in a couple hours, but definitely more design-focused (even if the mark allocation says otherwise); straightforward if you know Java, or at least OOP well enough
  • 55% Final Exam - A three hour practical exam on computer; split into three sections, out of 100; first section was 20 marks, with easy multiple choice and some very short (1 sentence max) answers testing your ability to identify appropriate design patterns, some refactoring techniques, and understanding of OO concepts; second section was 30 marks, with some short response (2-3 sentences max) and smaller programming problems that were pretty easy overall; third section was worth 50 marks, and was just four programming questions; one was similar to the last lab (as we were told in the lab anyway), two were implementing given design patterns, and one was a refactoring task; the sample exam provided was a good indication of the kind of content in the final exam, and there wasn't much rote in the course overall, so the final exam wasn't difficult to prepare for, but definitely needed study

Lecture Recordings? Yes - screen and voice recorded.

Notes/Materials Available: Lecture slides all uploaded. Tutorials and labs with solutions posted. Sample final exam provided, with solutions.

Textbook: Note: I don't use textbooks and can't comment on their usefulness. None prescribed, but useful references:
  • [Recommended] Head First Design Patterns, by Elisabeth Freeman and Kathy Sierra, The State University of New Jersey
  • [Recommended] Refactoring: Improving the design of existing code, by Martin Fowler

Lecturer(s): Dr. Ashesh Mahidadia

Year & Term of completion: 2019 T1

Difficulty: 2/5

Overall Rating: 3.5/5

Your Mark/Grade: 99 HD

Comments: I was expecting a re-run of COMP1531, but was pleasantly surprised when there was actually very little rote. Most of the course teaches design patterns, which are easy to remember if you implement them, and some of the refactoring techniques require rote, but overall the course was mostly about identifying the benefits of the design patterns, and gaining experience in applying them so you could identify what pattern would be suitable for certain problems. The project was really fun, though that might be because we went over the top, but was the best part of the course in my opinion. The lecture slides were somewhat disconnected, which made revision difficult having not attended lectures, but after writing out a summary of everything and organising it, the course was very easy to study for; the concepts taught in the course are really useful, and I would recommend this to anyone considering working in industry. A little bit dry at times, but overall, pretty good.

kierisuizahn

  • Trailblazer
  • *
  • Posts: 34
  • Respect: +72
Re: UNSW Course Reviews
« Reply #152 on: September 17, 2019, 12:37:16 pm »
+8
Subject Code/Name: COMP9417 - Machine Learning and Data Mining

Contact Hours: 2x 2hr Lecture, 1x 1hr Tutorial

Assumed Knowledge:
Prerequisites:
Assessment:
  • 10% Homework - Two homework sets, worth 5% each; automarked, and involve selecting multiple choice solutions, or small snippets of output from programs; pretty basic questions to check how you're going with the course; supplied Jupyter notebooks with the relevant code (usually) done for you; mainly involve interpreting data and explaining why something happens (well, selecting which explanation is correct)
  • 30% Project - A large, term-long project in groups of 2-5 people (depending on the project); no tutorial restriction for groups; a list of available projects, as well as an option to choose your own project; approval from the course admin and lecturer required before commencing work on the project; what you do varies a lot with the project you choose, but all project need to have a report written up on them at the end, at approximately 2 pages per person, with a reasonably long appendix if required for large figures; marking criteria included marks for difficulty of the task to discourage choosing an easy topic for free marks
  • 60% Final Exam - A two hour multiple choice exam; see comments for a little rant; split into two sections, combined out of 120 marks; first section was questions worth a mark or two each (can't remember which) which didn't require much work, and mostly tested your knowledge on the theory in the course; the second section had variable-mark questions requiring a lot of calculation, varying from 1 mark to 12 marks each; generally testing your understanding of different algorithms taught in the course, and knowing how to apply them

Lecture Recordings? Yes - screen and voice recorded.

Notes/Materials Available: Lecture slides all uploaded. Tutorials and solutions uploaded. Sample final exam which didn't represent the final exam format at all also supplied.

Textbook: Note: I don't use textbooks and can't comment on their usefulness. None prescribed, and many references. See course outline for a list

Lecturer(s): Dr. Michael Bain

Year & Term of completion: 2019 T1

Difficulty: 3/5

Overall Rating: 3/5

Your Mark/Grade: 90 HD

Comments: The course content itself was pretty interesting, though the first half of the course was pretty dry if you'd already done a course on statistics. The last part of the course on learning theory is really interesting if you're looking into theoretical CS. The homework problems were really easy, and didn't represent the kinds of questions in the final at all, which made it difficult to gauge the difficulty of the final exam. The sample final was somewhat useful in that regard, but it would have been nice if it was in the same format as the final. The labs and tutes got kind of repetitive after a while, where I was spending more time interpreting the supplied Python code than I was actually doing the lab, but they did a good job of making me learn the ML packages we used for the project. Dr. Bain was a dry lecturer, but he explained concepts well in an intuitive and easy-to-understand manner.

Rant time. The final exam was trash. It really ruined the course for me. That 3/5 rating doesn't take the final exam int account else it'd be -5/5. The first part of the exam was fine, but when we got to the second part all hell broke loose. There were multiple corrections mid-exam. About 50% of the second part was literally impossible to answer (the multiple choice "answers" were incorrect; a few of my friends even resorted to rigorous proofs to make sure they weren't just being stupid to prove there was no correct answer), and there were questions worth up to 12 marks. In a 120 mark exam with 60% of the final mark for the course, that's 6% of your overall grade. I can't say whether there were partial marks or not, but I hope to god there was or that was the worst excuse for a multiple choice exam I've seen. I'd say there weren't but the course admin and lecturer were being incredibly cryptic after the course forum started going crazy as people complained. The amount of calculations required for some if the questions was ridiculous for a multiple choice exam, taking an entire page or more (note we had no working paper so we had to use the space between questions) to get one answer to one question, which didn't even have a correct answer. Even better, after all these issues were brought up to the course admin, they told us it would be marked fairly, and then never told us what they were going to do or how it was marked anyway. I still don't know how it was marked and I sent an email explicitly asking how (to which I got a non-response). The management of the final exam was horrendous. I hope it's never like this again.
« Last Edit: September 17, 2019, 12:38:53 pm by kierisuizahn »

kierisuizahn

  • Trailblazer
  • *
  • Posts: 34
  • Respect: +72
Re: UNSW Course Reviews
« Reply #153 on: September 17, 2019, 12:39:41 pm »
+9
Subject Code/Name: MATH3611 - Higher Analysis
Postgraduate Equivalent: MATH5705 - Modern Analysis

Contact Hours: 2x 2hr, 1x 1hr Lecture (2nd hour of the last lecture of the week was basically a tutorial)

Assumed Knowledge:
Prerequisites:
  • MATH2111 or MATH2011, latter with at least a CR
  • 12 UoC of second-level maths courses with an average of at least 70

Assessment:
  • 20% Minor Assignments - Two written assignments submitted online and worth 10% each; covered recently taught content, and were mostly proof-based; some of the questions were based on the problems; marked for correctness, conciceness, and presentation; most of the questions were pretty easy; could be done in 1-2 pages; spent more time making my solutions concise than I did actually solving the problems, and didn't require too much abstract thinking
  • 20% Major Assignment - A large assignment with harder questions and more time; covered recent content, but that content was part of the harder topic in the course; required quite a bit of abstract thinking, and there were quite a few really cool shortcuts to the questions that weren't at all obvious; definitely not to be left until the last minute; could be done in 2 pages, so the solutions were more conceptually difficult, rather than long-winded
  • 60% Final Exam - A two hour written exam testing the course content in its entirety; the first two topics weren't taught much (as they were the focus of the minor assignments), but the rest of the content was tested pretty evenly; the format of the exam was pretty similar to the previous year's (being the same lecturer); definitely some challenging problems in the exam, and you need to know statements of some theorems well to apply them correctly; a sheet stating what parts of the course could be examined and which wouldn't be was released, which made study for the exam much easier; the past exams are very useful, as many questions are similar

Lecture Recordings? No.

Notes/Materials Available: Lecture notes uploaded, as well as solutions to the minor assignments. Problem sets with no solutions.

Textbook: Note: I don't use textbooks and can't comment on their usefulness.
  • [Prescribed] A.N. Kolmogorov and S.V. Fomin: Introductory Real Analysis (Dover, 1970; Call number: P517.5/125).
  • [Recommended] G.B. Folland: Analysis. Modern techniques and their applications.
  • [Recommended] W. Rudin: Principles of Mathematical Analysis
  • [Recommended] G.F. Simmons: Introduction to Topology and Modern Analysis

Lecturer(s): Dr. Pinhas Grossman

Year & Term of completion: 2019 T1

Difficulty: 4/5

Overall Rating: 5/5

Your Mark/Grade: 97 HD

Comments: My favourite maths course so far. I really love analysis, so that's sort of to be expected, but the proof were really fun, and the content was right up my alley. Dr. Grossman was a great lecturer, although we went an a few long tangents which dropped us a little bit behind schedule (they were interesting tangents though, to be fair). I would highly recommend this course to anyone interested in pure mathematics. Our class collectively wrote up some solutions to a few of the problem sets, though as the term progressed that kind of died; definitely helped when studying for the final though. A lot of the interesting exercises are in the lecture notes, rather than the problem sets. Not really much to say, just a good course all-round.
« Last Edit: August 28, 2021, 10:59:13 am by kierisuizahn »

HelpICantThinkOfAName

  • Trailblazer
  • *
  • Posts: 26
  • Respect: +34
Re: UNSW Course Reviews
« Reply #154 on: November 23, 2019, 04:47:55 pm »
+5
Subject Code/Name: PHYS1160 - Introduction to Astronomy

Contact Hours:  Online Course. No timetabled hours.

Assumed Knowledge: No assumed knowledge.

Assessment:  30% Online activities. Each activity was equivalent to a mini-lecture and tutorial. A few pages of reading, followed by a short multiple-choice quiz. 20 activities in total.

15% Discussion Group participation. Each fortnight a discussion group opens. Students have to ask and answer questions related to the content that was covered.
10% Best Discussion Contribution. You choose your best two responses and submit them to be marked.

20% Essay.
25% Final exam. Multiple choices, online, open-book exam.

Lecture Recordings?  No Lectures.

Notes/Materials Available:  Everything is on moodle. Lots of questions are reused though, and course material can be easily found by a quick search

Year & Trimester of completion: 2019/T3

Difficulty: 1/5

Overall Rating:  5/5

Comments:
Free marks don't come easier than this course. Although the marking has become more strict in recent years, this still is the wamboosting course that it is known for.
Studying Economics/Mathematics @ UNSW

katie,rinos

  • Honorary Moderator
  • Part of the furniture
  • *******
  • Posts: 1081
  • Respect: +1151
Re: UNSW Course Reviews
« Reply #155 on: November 27, 2019, 02:51:17 pm »
+7
Subject Code/Name: MUSC2802-Music Studio Teaching 



Contact Hours: 2hr lecture, 2hr tute per week



Assumed Knowledge: Must be enrolled in the music pedagogy stream of a music degree.



Assessment:  2000 word essay (35%), 3 1000 word blog posts (worth 20% each), participation mark (5%)



Lecture Recordings?  Yes

Notes/Materials Available: Readings and some videos.



Textbook: Burwell, K. (2012) Studio-based instrumental learning. Available online through the library.



Lecturer(s): Kim Burwell



Year & Trimester of completion: 2019, 3



Difficulty: 3.5/5



Overall Rating:  4.75/5



Comments:
This has been my favourite subject so far! It is a really practical subject and most of the time the lectures went for around an 1hr and the tutes closer to 3hr (with breaks during). Our class was pretty small (18) and became really close during the term which was nice. Our lectures were on topics such as nonverbal behaviour, verbal lesson behaviour, group tuition and making lesson observations.

Throughout the term, we got to give 2 mini instrumental lessons (15 minutes) and get feedback on how we were teaching. I also got to have 2 piano lessons and a flute lesson (I got so excited when I made a note!!). For the last two weeks of the term, we’ve been doing group lessons (teaching any practical skill because we don’t have 5 clarinets) and looking at the differences in planning between private and group lessons. Our blog posts were based on the lessons that we ran and also looked at academic research (which was pretty hard to find sometimes).

For our essay, we needed to observe 3 of our private teacher’s lessons and write about issues we thought were significant. Kim gave a lot of feedback on these essays which was slightly overwhelming at first but great to know where to improve.
« Last Edit: November 27, 2019, 02:53:20 pm by katie,rinos »
Class of 2017 (Year 12): Advanced English, General Maths, Legal Studies, Music 1, Ancient History, History Extension, Hospitality
2018-2022: B Music/B Education (Secondary) [UNSW]

RuiAce

  • ATAR Notes Lecturer
  • Honorary Moderator
  • Great Wonder of ATAR Notes
  • *******
  • Posts: 8814
  • "All models are wrong, but some are useful."
  • Respect: +2575
Re: UNSW Course Reviews
« Reply #156 on: December 20, 2019, 06:15:12 pm »
+7
Subject Code/Name: COMP2511 - Object-Oriented Design & Programming

Contact Hours: 2 x 2hr lectures, 2hr laboratory (somehow timetabling forgot to give us a tutorial this term)

Assumed Knowledge: COMP1531 and COMP2521

Assessment:
- 10% assignment
- 10% labs (some labs went for two weeks and were weighted more)
- 25% project (split into milestones of 5%, 8% and 12%)
- 55% final exam

Lecture Recordings? Yes

Notes/Materials Available: Lecture slides were mostly a summarised version of this extremely helpful website. Lecture slides also taught some basic java. A sample paper was released, but it had more stuff about Java itself and refactoring than design patterns, at least compared to the exam.

Textbook: N/A

Lecturer(s): Dr. Ashesh Mahidadia

Year & Trimester of completion: 19t3

Difficulty: 4/5 (although I feel it'd be 2.5/5 without the project)

Overall Rating: 3.5/5

Your Mark/Grade: 92 HD

Comments:

This is one of many Level 2 core courses to all computer science degrees.

Compared to its precursor course COMP1531, I personally found this course significantly more enjoyable. There were some digressions here and there, but for the most part this course it actually taught the concepts of OOP and OO design. Despite still hating design (and preferring more pure programming concepts), the design patterns just felt something aesthetic to use. They're really versatile and applying them appropriately is a challenge in itself. When used properly, they can make the code look much nicer. (MUCH fewer if/switch statements.)

Albeit, Java can be a pain to deal with because you have so many files to work with. But that's just made me come to appreciate IDEs more. (Still, I don't blame people who would rather avoid Java altogether.)

Design patterns made up probably 75%-80% of the final exam. You have to know ALL of the design patterns they teach you well. Code smells/Refactoring and Java made up the remaining 20-25%. (Javadoc, and the code smells lecture slides were given in the exam. And both Eclipse and Visual Studio Code. I was very appreciative of this.)

The exam does make you implement some of the design patterns. But to be honest, I found myself struggling more on understanding the Java skeleton code than actually doing the patterns.

All 1.5 points lost in the rating really came out of the project. It was so tedious. It was the only thing I kept complaining about having to do whilst taking this course. I was lucky that my partner was just better at me in it.

kierisuizahn

  • Trailblazer
  • *
  • Posts: 34
  • Respect: +72
Re: UNSW Course Reviews
« Reply #157 on: December 20, 2019, 06:25:08 pm »
+7
Subject Code/Name: COMP4121 - Advanced and Parallel Algorithms

Contact Hours: 2x 2hr Lecture

Assumed Knowledge:
Prerequisites:
Assessment:
  • 40% Project - A large project due at the end of the course (after final exams); no defined marking criteria and very open ended; you can do basically anything that involves algorithms, but a few topics were given in case you couldn't think of anything, with an expected length of about 25-35 pages double spaces excl. references and diagrams; meant to be focused on the algorithmic aspect of whatever topic is chosen, and preferably something currently common; a lot of work, don't leave it late
  • 30% Midterm - An in-class written exam, completely open book (we were allowed to use our laptops), testing the first half (or so) of the course; 2 hours long (a little less for time to get seated and stuff), and generally pretty standard; average mark was around low-mid 40s (out of 50); all content tested in the midterm isn't tested in the final - effectively this + final exam make up the usual 60% final exam; some sample question provided in an email, and very similar questions in the final, so pay attention to any details emailed to you, plus a few in the lectures as well
  • 30% Final Exam - A 2 hour exam during the exam period testing the second half of the course, and open book (handwritten notes or printouts of lecture slides, etc.); any content from the midterm isn't tested; again pretty standard, with a lot of questions taken from previous years (you can find a few online); some of the harder questions for CS students, but if you've done well in maths most of them should be relatively straightforward

Lecture Recordings? Yes - screen and voice recorded.

Notes/Materials Available: Lecture slides online. Sample final not provided but you can find it on Google. Extra lecture notes that go into more detail on some of the topics also online.

Textbook: Note: I don't use textbooks and can't comment on their usefulness. None prescribed, but useful references:
  • [Recommended] Algorithm Design by Kleinberg and Tardosh
  • [Recommended] Networked Life by Mung Chiang
  • [Recommended] Foundations of Data Science by Blum, Hopcroft and Kannan (preprint available online for free)

Lecturer(s): A/Prof. Aleks Ignjatovic

Year & Term of completion: 2019 T3

Difficulty: 2.5/5

Overall Rating: 4.5/5

Your Mark/Grade: 100 HD

Comments: A really interesting course that covers some of the more current algorithms. We didn't really go over parallel algorithms (even though it's in the course name). The course content changes every year, but for us we did some basic review of COMP3821 stuff that was cut from the course since Aleks stopped teaching it (skip lists, Karger's min-cut algorithm, etc.), Google PageRank, some voting aggregation and recommender systems, and some applications of discrete Fourier transforms and similar. If you've done generalised Fourier series in MATH2221 then most of the DFT stuff should be familiar. Some of the proofs are quite maths-heavy, though Aleks is really good at explaining the concepts regardless. Be warned though, you'll be expected to understand how the proof and concepts work, so if you don't have a good relationship with maths you might want to reconsider. The project is probably the main part of this course, and the lack of marking criteria is kind of annoying, but Aleks told us that he'd basically accept anything as long as it related to algorithms. Always best to check with him before you start though. The content isn't very difficult if you put in the time to understand it, but since the exams were open book, you're tested on your understanding more than your ability to regurgitate the content. I much preferred this personally, but it meant that a few trickier questions could be snuck into the exam testing how you'd extend some of the stuff we learnt to new or harder scenarios. Regardless, it was a very fun course, and I'd recommend it to anyone thinking of going into data science or theoretical CS. It goes over a lot of different algorithms and their uses, without sacrificing depth of study. Also, Aleks is great, love him.

kierisuizahn

  • Trailblazer
  • *
  • Posts: 34
  • Respect: +72
Re: UNSW Course Reviews
« Reply #158 on: December 20, 2019, 06:26:03 pm »
+8
Subject Code/Name: COMP4418 - Knowledge Representation and Reasoning

Contact Hours: 2x 2hr Lecture

Assumed Knowledge:
Prerequisites:
Assessment:
  • 45% Assignments - Three assignments each worth 15%; each assignment was testing a third of the course, one for each lecturer; the first assignment was extremely long, and had a somewhat involved programming component, though the programming language was open to whatever you want; the second was very small - two 4-5 line programs in Clingo (a language you learn), and one page of extra stuff; the third assignment was only a few pages, but the last question was very difficult, and basically no one solved it
  • 55% Final Exam - A 2 hour exam in the exam period broken into four parts; first part is 20 multiple choice testing everything, making up 40 marks (out of 100) of the exam, and with negative marking (2 for correct answer, 0 for no answer, -0.5 for wrong answer); the next three parts were each worth 20 marks, and tested the three parts of the course, just like the assignments, requiring written solutions; some of the questions required stuff from the assignments, so make sure you look over those; a sample final was given, though it was way easier than the actual final

Lecture Recordings? Yes - screen and voice recorded.

Notes/Materials Available: Lecture slides online, with some small exercises for the first two parts of the course. Sample final provided.

Textbook: Note: I don't use textbooks and can't comment on their usefulness. None prescribed, but a load of references:
  • [Recommended] Ronald J. Brachman and Hector J. Levesque. Knowledge Representation and Reasoning, Morgan Kaufmann, 2004
  • [Recommended] Malik Ghallab, Dana Nau, Paolo Traverso, Automated Planning — theory and practice, Morgan Kaufmann, 2004. Chapters 1 to 6, especially
  • [Recommended] Bruce Porter, Vladimir Lifschitz, Frank Van Harmelen, Handbook of Knowledge Representation, Elsevier, 2007
  • [Recommended] Raymond Reiter, Knowledge in Action, MIT Press, 2001
  • [Recommended] Michael Thielscher, Action Programming Languages, Morgan & Claypool, 2008
  • [Recommended] Constraint Logic Programming using ECLiPSe. Krzysztof Apt and Mark Wallace. Cambridge University Press, 2007
  • [Recommended] Programming with Constraints: An Introduction. Kim Marriott and Peter J. Stuckey. MIT Press, 1998
  • [Recommended] Francesca Rossi, Peter van Beek, and Toby Walsh (Eds), Handbook of Constraint Programming. Elsevier, 2006. ISBN 0-444-52726-5, 978 pages
  • [Recommended] Rina Dechter. Constraint Processing. Morgan Kaufmann, 2003
  • [Recommended] Michael R. Genesereth and Nils J. Nilsson. Logical Foundations of Artificial Intelligence, Morgan Kaufmann, 1987
  • [Recommended] Hector J. Levesque, Gerhard Lakemeyer. The Logic of Knowledge Bases, 2002
  • [Recommended] Sven Ove Hansson, Textbook of Belief Dynamics: Theory Change and Database Updating, Kluwer Academic, 1999
  • [Recommended] Salem Benferhat, Souhila Kaci, Daniel Le Berre, Mary-Anne Williams. Weakening conflicting information for iterated revision and knowledge integration. Artificial Intelligence 153(1-2): 339-371, 2004
  • [Recommended] Adnan Darwiche, Judea Pearl. On the Logic of Iterated Belief Revision. Artificial Intelligence 89(1-2): 1-29, 1997
  • [Recommended] Hirofumi Katsuno, Alberto O. Mendelzon. Propositional Knowledge Base Revision and Minimal Change. Artificial Intelligence 52(3): 263-294, 1992
  • [Recommended] Franz Baader, Diego Calvanese, Deborah McGuinness, Daniele Nardi, Peter Patel-Schneider, The Description Logic Handbook: Theory, Implementation and Applications, Cambridge University Press, 2003
  • [Recommended] Y. Shoham and K. Leyton-Brown, Multiagent Systems: Algorithmic, Game-Theoretic, and Logical Foundations. Cambridge, U.K.: Cambridge Univ. Press, 2008
  • [Recommended] J. Rothe. Economics and Computation. Springer, 2016

Lecturer(s): Prof. Maurice Pagnucco, Dr. Abdallah Saffidine, Dr. Haris Aziz

Year & Term of completion: 2019 T3

Difficulty: 3.5/5

Overall Rating: 4/5

Your Mark/Grade: 88 HD

Comments: Overall, a mix of interesting and somewhat dry topics. The course is broken into three parts, each 3 weeks long (we had a break in week 4) and taught by three lecturers. The first topic is logic and how to reason, going over propositional and first order logic, then a few extensions like non-monotonic reasoning and SLD resolution. I found the content pretty easy, but also quite dry. A lot of symbolic manipulation. The second topic is answer set programming and planning, which is where you learn ASP as implemented by Clingo, and STRIPS (to some extent). There is very little content in this section once you get your head around how to solve problems using ASP. The last topic is social choice theory, going into cooperative and non-cooperative games, as voting/resource allocation algorithms. This was the fun part of the course for me, but is probably the hardest part of the course. There are a load of theorems and concepts to learn (though the theorems weren't really tested in the exam, not sure if that's going to stay that way though), and is where I spent most of my study time. All three of the lecturers were good. I've heard bad things about Abdallah from COMP3121, but he taught ASP well. Only the first two parts of the course had exercises, but the examples in the lecture slides for the third part seemed sufficient to get the concepts down. Probably one of the more interesting AI major discipline electives, if you're into theoretical CS. The maths isn't very heavy, but you're expected to be competent for some of the more difficult proofs.

kierisuizahn

  • Trailblazer
  • *
  • Posts: 34
  • Respect: +72
Re: UNSW Course Reviews
« Reply #159 on: December 20, 2019, 06:27:29 pm »
+7
Subject Code/Name: MATH3701 - Higher Topology and Differential Geometry
Postgraduate Equivalent: MATH5700 - Modern Differential Geometry and Topology

Contact Hours: 2x 2hr Lecture, 1x 1hr lecture (second hour of the second lecture was a tutorial hour)

Assumed Knowledge:
Prerequisites:
  • MATH2111 or MATH2011, latter with at least a CR
  • MATH2601 or MATH2501, latter with at least a CR
  • 12 UoC of second-level maths courses with an average of at least 70

Assessment:
  • 5% Participation - Basically free marks; each tutorial you chose a question and if you got picked you'd have to present in front of class; as long as you did this, you basically got 5/5
  • 15% Assignment - An assignment due week 3, testing the first two weeks or so of content; not much to test at that stage and was very easy, except for the last question, which was a fair bit more difficult; those in the postgraduate version also needed to hand in a question on topology from a review problem set
  • 20% Midterm - A 45 minute in-class exam at 10am (hell); tested all of the content up to that point, focusing on the more computational aspects, with a few questions on applying and using the main theorems learnt at that point; very straightforward if you've done most of the problem set questions
  • 60% Final Exam - A 2 hour exam during the exam period testing the entire course, with a main emphasis on the content after the midterm (manifolds and cell complexes); some of the questions were very similar to, or literally questions from the problem sets; if you're able to do the problem sets you should be set for the final; not many difficult proofs, though a few applications of theorems without much focus in the course; some simple computational questions

Lecture Recordings? No.

Notes/Materials Available: Lecture notes (handwritten) and problem sets (typed) online.

Textbook: Note: I don't use textbooks and can't comment on their usefulness. None prescribed, but useful references:
  • [Recommended] James Munkres Topology (2nd Edition)
  • [Recommended] Andrew Pressley Elementary Differential Geometry

Lecturer(s): Dr. Daniel Chan

Year & Term of completion: 2019 T3

Difficulty: 4.5/5

Overall Rating: 4.5/5

Your Mark/Grade: 99 HD

Comments: I ended up adoring this course afterwards. The start of the course is somewhat slow, but by the end you're doing some really cool things linking geometry and topology together, and I found it really interesting. This course is considered the hardest of the three main pure maths courses, and it certainly lives up to that (Dr. Chan ended up cutting some content and dumbing bits of the course down for us). Some parts of the course, before hitting manifolds, are quite computational, and the cross product makes its ugly return, but after introducing manifolds most of that disappears. The content relies heavily on your geometric intuitions, and I felt that a fair bit of the first third of the course was trying to build up our intuition before we hit the nitty gritty. Although the course name is "topology and differential geometry", Dr. Chan has taken the course and focused on the differential geometry aspect, with the topology more as a means to achieve things. Towards the end of the course, topology starts to become more important, but is still heavily related to the differential geometry aspect of the course, which I personally preferred. Neither MATH3611 nor MATH3711 are prerequisites, but the topology knowledge from MATH3611, and the properties of quotient groups from MATH3711 are very useful. I would highly recommend this course to anyone with a pure maths bent (not that you have a choice, it's mandatory). Dr. Chan is a great and engaging lecturer, and motivates all of his examples well. If it weren't for the computational aspect of some of the course, it's be an easy 5/5 rating.
« Last Edit: August 28, 2021, 10:31:43 am by kierisuizahn »

RuiAce

  • ATAR Notes Lecturer
  • Honorary Moderator
  • Great Wonder of ATAR Notes
  • *******
  • Posts: 8814
  • "All models are wrong, but some are useful."
  • Respect: +2575
Re: UNSW Course Reviews
« Reply #160 on: December 20, 2019, 06:34:57 pm »
+7
Subject Code/Name: MATH3171 - Linear and Discrete Optimization Modelling
Equivalent postgraduate variant: MATH5171

Contact Hours: 2 x 2hr lectures, 1hr tutorial

Assumed Knowledge: Either one of the following:
- MATH2011/2111 and MATH2501/2601
- MATH2069 (CR) and MATH2099
- MATH2018/2019 (DN) and MATH2089

Assessment:
- 0% quiz (Guoyin wanted to provide initial feedback in Week 3. He did this for us in case some of us felt like dropping, which was really nice.)
- 2 x 15% tests
- 10% assignment
- 60% final exam

Lecture Recordings? Yes

Notes/Materials Available: Lecture notes and tutorial problems were enough. (He also provides optional additional reading.)

Textbook: N/A

Lecturer(s): A/Prof Guoyin Li

Year & Trimester of completion: 19t3

Difficulty: 2.5/5

Overall Rating: 4/5

Your Mark/Grade: 95 HD

Comments:
This is one of many Level 3 elective courses under applied mathematics. Note that this year was the first time ever this course was run, i.e. it was a brand new course.

When I asked A/Prof Guoyin to compare this course to MATH3161, he felt that the main differences were in that:
- The content in this course is mostly quite new. And indeed so; the field of conic programming is something that's only been around for a few decades.
- Interestingly, this course does have more of a focus on global extrema, whilst MATH3161 builds on local extrema techniques.

The courses are complementary; they have similar focuses but different executions. I would advise any student interested in optimisation to try taking both of them at some point.

This course was generally speaking quite relaxing. I found most of the concepts quite straightforward to learn, and although I was quick to forget it all, it also came back quickly whilst studying for an upcoming assessment task. But what I really liked was how so many concepts took me by surprise. They're not things I would've ever thought of in solving any optimisation problem. The course felt really fresh in that regard.

Assessment tasks were generally speaking quite straightforward, apart from the first 15% test that I ran out of time in. I don't believe the course was inherently easy, but it definitely was on the more relaxing end of the spectrum.
« Last Edit: May 04, 2020, 11:23:31 am by RuiAce »

jazz519

  • Adventurer
  • *
  • Posts: 13
  • Respect: +10
Re: UNSW Course Reviews
« Reply #161 on: December 20, 2019, 07:37:24 pm »
+5
Subject Code/Name: CHEM2031 - Inorganic Chemistry: The Elements

Contact Hours: 8 hours consisting of:
- 4 hr lab
- 4 x 1 hr lectures

Assumed Knowledge:
CHEM1031, CHEM1041 and CHEM2041 (CHEM2021 can also be helpful in this course for the lab component)

Assessment: 
Section A Assignment (3%)
Mid Semester Exam (on section A only) (21%)
Section B Assignment (3%)
Section C Assignment (3%)
Lab Component (30%) consisting of:
- Pre-Lab Quizzes (3%)
- Lab Core Skills (6%)
- Lab Notebook (6%)
- Lab Reports (15%)
Final Exam (only on section B and C) (40%)

Lecture Recordings? 
Yes but some of the lectures write on the boards in parts so might be hard to follow if you aren't understanding the content well by yourself

Notes/Materials Available
Lecture Notes should be fine

Textbook:
There was one but didn't really use it (Moodle slides, online websites and youtube videos are enough)

Lecturer(s):
A/Prof. John Stride, Dr Jon Beves, Dr Scott Sulway

Year & Trimester of completion:
2019 T3

Difficulty:
4.5/5

Overall Rating: 
4/5

Your Mark/Grade: 93 HD (for any future student that cares this was the mark for 1st ranking)

Comments:
Overall a decent course. You learn a few more new skills in the laboratory compared to organic chem (CHEM2021), but not too much is different just the reactions change but the same principles you learn in previous chem subjects in the labs will be applied. However, the marking in the labs is kind of all over the place. Sometimes one lab demo would say something and then the next week you get marked and a different lab demo says something else (so very confusing and annoying because you are losing marks on stupid things rather than the quality of what you wrote).

Section A was taught by John Stride, this section is largely a revision of concepts in first year with the last few lectures new content. Topics covered included like the different types of orbitals, frequencies of vibration, valence band theory and molecular orbital theory. The assignment A was fairly difficult. The mid semester exam was on this section it was not too difficult if you studied the content properly as the questions were quite straight forward and mainly calculations or drawing orbital diagrams. Overall John Stride was a good lecturer but one thing we needed more of was practice questions for the exam as we only got like 4 questions released to us (so it was not very clear on what kinds of questions would be asked beforehand)

Section B was taught by Jon Beeves, this section was all new content and the hardest section of the course. Topics covered here included coordination chemistry, properties of transition metals like colour, magnesium and stability, as well as some info on the biological importance of transition metals. Jon gives out a lot of worksheets and also gave us practice exam questions for his section so most of the questions we would expect in the final were similar in style. The assignment B was also good practice for that as the questions asked were also similar to the section B final exam component

Section C was taught by Scott Sulway, this section was easy in my opinion because the question style in the assignment and the final was exactly the same so you just had to know how to do the questions. However, some of the later bio based uses of the transition metals in enzymes meant you have to memorise those parts so that was quite boring at times. But also like Jon, Scott gave worksheets out which helped with what types of questions were asked in the final exam

Overall a good course apart from the lab marking aspect
« Last Edit: February 15, 2020, 06:16:14 pm by jazz519 »
HSC 2016: 99.7 ATAR

UNSW: Advanced Science: Major Chemistry & Minor Mathematics

Recipient of Late Stephen Robjohns Science Scholarship
and AAA Scholarship at UNSW

Bruh Moment

  • Fresh Poster
  • *
  • Posts: 4
  • Might I trouble you for a drink?
  • Respect: +6
Re: UNSW Course Reviews
« Reply #162 on: December 21, 2019, 12:34:14 am »
+4
Subject Code/Name: COMP2511 - Object-Oriented Design & Programming

Contact Hours: 2 x 2hr Lectures, 1 x 2hr Lab
The labs had a ~30 min tutorial at the start, usually there would be a dedicated 1hr tutorial but there was an issue with the timetabling this term apparently.

Assumed Knowledge: COMP1531, COMP2521 (or COMP1927)
Uses much more of COMP1531 than COMP2521, and even then only parts of COMP1531 are used. Revise your ADTs, your OO principles and domain modelling (mostly UML and user stories), and how to use Git. It's worth learning a little bit of Java ahead of time too, but not strictly necessary, they do a good job of introducing it.

Assessment:
Assignment (10%, due week 4) - This was basically a very extended lab exercise on all the OO principles we had learned so far, design is a large factor in the marking, so you should check with your tutors that your design is up to scratch. Use the lab exercises relevant to the assignment to get a good idea of how it should be designed.

Project (25%, with milestones in weeks 5, 7 and 9) - Very fun, we got to make a 2D game using JavaFX. The project should also be done following all the appropriate design principles, and is specified in a way that suggests you to use lots of different design patterns. Try to use as many as possible to get a feel for how they should be implemented. The marks are split evenly across the planning, design and implementation, so there's nothing in particular to focus on.

Labs (10%) - Can be a bit dry at times, but always worth doing. Some labs are extended so run for two weeks, usually not because they're particularly big labs but because they coincide with some other deadline. The labs need to be hand-marked, which does mean you have to attend your labs, but it lets you ask your tutors about the content and lets you get more in-depth feedback.

Final (55%) - The final is perhaps worth a bit much, given how much work the project is and that the final is also double-pass (need >27.5/55). The theory / short answer parts will have you answering some quick questions about Java / OO Design and writing a small amount of Java, the prac part involves implementing several design patterns as well as other concepts + some design tasks. The labs don't provide enough coverage for the final exam, so I strongly encourage looking over the tutorial exercises and lecture examples, and having a go at implementing any design patterns you haven't implemented before.

Lecture Recordings? Yes
Definitely worth attending / watching if you're struggling with the lecture slides alone, Ashesh explains a lot of the justification behind the slides / examples and IMO is a great lecturer.

Notes/Materials Available: Lecture slides, lecture examples, lab exercises + solutions, tutorial problems + solutions, sample final exam + solutions

Textbook: Don't really use textbooks, and there were none prescribed. In terms of online resources I recommend https://refactoring.guru/ and https://docs.oracle.com/javase/tutorial/java/index.html

Lecturer(s): Dr. Ashesh Mahidadia

Year & Term of completion: 19T3

Difficulty: 2.5/5

Overall Rating: 4/5

Your Mark/Grade: 95 HD

Comments: An absolute essential if you're planning to sell your soul to the industry like me. Object-oriented programming is used in various forms everywhere, and is very powerful when equipped with things like the design patterns and generics you will learn in this course. The content is of a similar theme to COMP1531, but is much more focused and clear, and presented in a way where you can immediately see how meaningful it is. If you're more theory-oriented then you can try amusing yourself with things like the Java type system and lambda expressions but you might find the course a bit boring.
A-Levels: CS A* Maths A* Further Maths A* Physics A
Favourite anime: K-On!

Bruh Moment

  • Fresh Poster
  • *
  • Posts: 4
  • Might I trouble you for a drink?
  • Respect: +6
Re: UNSW Course Reviews
« Reply #163 on: December 21, 2019, 01:29:02 am »
+8
Subject Code/Name: COMP3311 - Database Systems

Contact Hours: 2 x 2hr Lectures
Apparently the course normally has a 1hr tutorial as well, but in this term there was no tutorial class.

Assumed Knowledge: COMP2521 (or COMP1927)
It's useful to have done COMP1531 as well, since it introduces domain modelling, ER modelling, database design, and Python (COMP3311 this time used Python for the programming topic). However these topics are all covered again and in greater depth so if you haven't done COMP1531 you're not SoL.

Assessment:
Quizzes (10%, due on all even-numbered weeks) - In the usual JAS style the quizzes are fairly easy when you just try the question yourself on a database / look at the lecture slides. They're mostly there to force you to keep up-to-date with the content, and are very effective at doing that.

Assignment 1 (5%, due week 3) - This was a relatively small ER modelling task, which was assigned to randomised groups of 8 people. The ER model itself could be finished in about half an hour, but in several different ways, so the idea was that you would discuss your various ideas with your group and come up with a shared design. Most of the marks came from how much you contributed to the discussion and to editing the Group Wiki (where the design was done), there were no marks for the ER model itself. This worked surprisingly well and JAS was really generous with the marking.

Assignment 2 (12%, due week 6) - In this assignment you have to write some SQL queries which give particular results, much in the same way as the prac exercises (which are not worth marks, but I strongly recommend doing), there are several questions which get progressively harder.

Assignment 3 (13%, due week 9) - This was similar to assignment 2, but involved writing some Python scripts to run the queries. The Python was also to make it easier to do more complex tasks. This assignment also had several questions which got progressively harder, but the last few marks on the last few questions were much harder than in assignment 2. I spent about as much time on these "bonus" tasks as I did for the rest of the assignment.

Final (60%) - The final includes some prac questions, in a similar style to the prac exercises and the assignment, and some theory questions, in a similar style to the theory exercises (which are also not worth marks, but I strongly recommend doing). The final should be fairly straightforward if you did all the assignment questions and some theory exercises, for us the course notes were included in the final making it essentially open book which was very nice.

Lecture Recordings? Yes
JAS records them himself and uploads them to YouTube so you don't have to deal with Echo360, fortunately.

Notes/Materials Available: Lecture slides, course notes, prac exercises + solutions, theory exercises + solutions, sample final exam + solutions

Textbook: Don't really use textbooks, there are several listed and you are recommended to choose one:
* Fundamentals of Database Systems, Elmasri and Navathe, 7th edition, 2016, Addison-Wesley
* Database System Concepts , Silberschatz, Korth, Sudarshan, 6th edition, 2010, McGraw-Hill
* Database Management Systems , Ramakrishnan and Gehrke, 3rd edition, 2003, McGraw-Hill
* Database Systems: The Complete Book , Garcia-Molina, Ullman, Widom, 2nd edition, 2008, Prentice-Hall
* Database Systems: An Application-Oriented Approach Kifer, Berstein, Lewis, 2nd edition (Complete Version), 2006, Addison-Wesley
Personally, I found the course materials to be sufficient.

Lecturer(s): Dr. John Shepherd
One of CSE's best lecturers IMO.

Year & Term of completion: 19T3

Difficulty: 1.5/5

Overall Rating: 4.5/5

Your Mark/Grade: 96 HD

Comments: Honestly I was originally just doing this course because it was core for SEng, but it turned out to be some of the most fun I've had in uni so far. The mixture of practical exercises and database theory is perfect and makes the course interesting for just about anyone. The content is deep, but also not very difficult to learn, and the assessment is straightforward and especially rewarding in the case of the assignments. If you're pressed for electives, then I would only recommend taking the course if you're particularly interested in databases / web dev / thicc data, since the content can probably be self-learned. But if you have to do the course, or you have lots of electives you're trying to fill, then this course is a great way to spend 6 UoC.
A-Levels: CS A* Maths A* Further Maths A* Physics A
Favourite anime: K-On!

Bruh Moment

  • Fresh Poster
  • *
  • Posts: 4
  • Might I trouble you for a drink?
  • Respect: +6
Re: UNSW Course Reviews
« Reply #164 on: December 21, 2019, 02:25:19 am »
+6
Subject Code/Name: SENG2011 - Software Engineering Workshop 2A

Contact Hours: 2 x 2hr Lectures, 1 x 30min Team Meeting
Once you have a team for the project, you'll pick a 30 min time slot each week to meet with your mentor, which has attendance recorded and where you'll discuss your progress in your project.

Assumed Knowledge: COMP2111
According to the 2020 handbook, this will be changing to MATH1081 since COMP2111 is kill now. I'm not sure how this will effect the course content, since the course heavily relies on Hoare logic and its application to software verification. It's reasonable to assume that Hoare logic will be covered within the course if the prerequisite is changed to MATH1081. I would also recommend having taken COMP2521 for the verification part, to help with writing algorithms to verify, and COMP1531/COMP2041/SENG2021 for the project, to help with developing a full-stack software project. Despite the confusing names, it is not officially required to do SENG2021 before this course (I didn't), and having any kind of project experience will be enough.

Assessment:
Assignments 1 & 2 (10% and 20%, due midway through the term and at the very end of the term) - The assignments were both fairly similar in style, and involved writing some Dafny based on the topics covered in the lecture slides. The exercises adhere very closely to the lecture slides, but with significant enough modifications to make them challenging. Your solutions are expected not just to "work" as programs, but also to have verified correctness. The quality of your verification is also tested, so if your specification is weak or not very clear you will lose marks, and this presents the biggest challenges in the assignments. The actual programming itself is not too challenging and doesn't stray outside COMP2521-level algorithms.

Project (30%, split into two reports which are due midway through the term and at the very end of the term) - The project involves writing a medium-sized application and writing Dafny code to verify it. The project also has a significant report component which exercises the project management section of the course, including all the relevant requirements analysis, domain modelling, details of the implementation, and details of the project management. The project is done in teams of 5 and teamwork is a significant component, so you should think about your team from the very start of the course and try to have a good team lined up.

Final (40%) - This term the final was conducted as a lab exam for the first time, and involved some theory questions on project management and software engineering trivia, and some practical exercises involving writing Dafny in a similar style to the assignments. The practical part of the final felt fairly gentle having done the assignments, and the theory part is easy enough if you have a good understanding of the motivation behind all the software engineering / project management topics.

Lecture Recordings? Yes
Albert is a very engaging lecturer and I recommend attending in person whenever possible.

Notes/Materials Available: Lecture slides (very comprehensive)

Textbook: Don't really use textbooks, and there are none prescribed. In terms of resources the lecture slides are sufficient for most of the course, anything else about Dafny is covered either by Microsoft RISE's Dafny tutorials/guide, or the "Dafny Reference Manual": https://ece.uwaterloo.ca/~agurfink/stqam/2019/03/03/dafny-ref. Dafny is uncommon and very difficult to find resources for, including unfortunately StackOverflow answers.

Lecturer(s): Dr. Albert Nymeyer

Year & Term of completion: 19T3

Difficulty: 3.5/5

Overall Rating: 4.5/5

Your Mark/Grade: 87 HD

Comments: This course presents a very rare perspective on software engineering, and includes very useful insights into software verification, project management in a more traditional and concrete sense (very different to say COMP1531), and the essence of software engineering. As a software engineer, this is what will make you more than just a computer scientist who was forced against their will to do ENGG1000. Possibly the only weird thing to mention about the course is the marking, since Albert handles all the marking himself to ensure consistency, the marking is very slow. At the time of the final exam only assignment 1 had been marked. Personally I prefer having work which is properly marked and with a lot of feedback to work which is marked quickly, but if you're looking for faster feedback this could be an issue.
A-Levels: CS A* Maths A* Further Maths A* Physics A
Favourite anime: K-On!