Login

Welcome, Guest. Please login or register.

March 29, 2024, 07:50:59 am

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

0 Members and 3 Guests are viewing this topic.

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 #225 on: December 17, 2020, 05:36:13 pm »
+10
Subject Code/Name: MATH5855 - Multivariate Analysis

Contact Hours: During COVID - 1 x 2hr lecture, 2 x 1hr lecture (total: 4hrs). (Outside of COVID, I believe one of the lecture hours is switched for a lab/tute instead.)

Assumed Knowledge: No formal prerequisites stated (quite common for postgraduate courses). Assumed knowledge is pretty much any general level of statistics (for UNSW undergraduates, definitely MATH2801/2901). Highly advised is some knowledge of linear algebra (MATH2501/MATH2601 is great to have, but also some knowledge of matrix calculus could be useful). To make life easier, I recommend also knowing linear models (for example, equivalent of MATH2831/2931) for the sake of multivariate linear models. I also recommend some in depth statistical inference (for example, equivalent of MATH3811/MATH3911), since the likelihood ratio test features a lot.

Assessment: During COVID -
- 3 x 25% assignments
- 1 x 25% exam

Lecture Recordings? Yes during COVID period. Likely yes otherwise, since Pavel uses lecture slides.

Notes/Materials Available: Simple lecture slides and more prosaic lecture notes provided. (Exact same content; one is just easier to read because it has more full sentences.) Lecture scribbles usually weren't uploaded, but could be reviewed in the recording. A select few exercises appeared along the way. Support for R and SAS coding both given in this course. Lecture examples provided, and some challenge exercises available to try yourself.

Textbook: Johnson RA and Wichern DW, Applied Multivariate Analysis, 6ED. Roughly 80% of the course is taken from here, and the textbook was liked by many students. I was too lazy to use it, as usual.

Lecturer(s): Dr. Pavel Krivitsky

Year & Trimester of completion: 20T3

Difficulty: 3/5

Overall Rating: 3.5/5

Your Mark/Grade: 93 HD

Comments:
This is one of many postgraduate statistics courses. Recently, it has remained on a yearly offering.

Multivariate analysis is basically the answer to the undergraduate problem: why have we never been working with multivariate distributions? This course literally deals with them, but one should note that the multivariate normal distribution takes up about 60% of the work (it is the most important multivariate distribution). Much of the remainder is just on multivariate data in general (with a special topic in network analysis). Examples of multivariate data could be performances in all 10 sports of a decathlon, and say [height, weight, age]. The variables look univariate, but they come multivariate when you consider them together, and that is the main point.

The assessments were somewhat stranger this term. Moodle quizzes were used to input your final answer, and working was uploaded in a separate submission box (to possibly earn partial marks for mistakes). The assignments also had CodeRunner available eventually, which let you copy past R code (or just numeric answers) directly into a console instead. You had a choice on whether you wanted to use R or SAS for the coding components; there was no need to learn both. They honestly weren't hard, and most of my lost marks were (agonisingly) due to carelessness. I feel the weird assessment format was mostly because Pavel never had to deal with a cohort of like 180 students (more than DOUBLE that of last year), and Moodle's automated marking helped alleviate some of the work. It was awkward, but the system was still alright.

A fair bit of code in the lectures could be adapted to the assignments. This was very handy.

Course assessment could be argued to be a 2/5 difficulty by many people. However, Pavel also presented many theoretical derivations in the lectures. The harder ones weren't examinable, but they could've easily skyrocketed the difficulty to 4.5/5, hence the above rating I gave.

Originally, the final exam was going to be substituted by a fourth assignment, but then it was disallowed (I don't know why; he wasn't allowed to disclose). Hence its unusually low weighting. The weighting also resulted in a final exam that really wasn't too difficult, in my opinion. However, it was a bit annoying that we didn't find out about the negative marking until the day before the exam. (The scheme was very similar to that of COMP3231's.)

There's one thing I absolutely have to comment. All the theory in this course made me EXTREMELY thankful that I paid attention in linear algebra. That level of linear algebra can be overwhelming for so many students (understandably, not surprisingly). Very little of it was needed for the assessments, but arguably a lot was for understanding lecture theory.

Pavel tried to appeal to both theoretical minded audiences, as well as those that just wanted to know how to do the job (i.e. mostly applied statistics only). I think it worked; it just was hard.


Opengangs

  • New South Welsh
  • Forum Leader
  • ****
  • Posts: 718
  • \(\mathbb{O}_\mathbb{G}\)
  • Respect: +480
Re: UNSW Course Reviews
« Reply #226 on: December 17, 2020, 10:21:51 pm »
+8
Subject Code/Name: MATH2701 - Abstract Algebra and Fundamental Analysis

Contact Hours: 2 x 2 hour lectures, 1 x 1 hour tutorial.

Assumed Knowledge:
- Pre-requisite: MATH1231 or DPST1014 or MATH1241 or MATH1251 with at least a CR, enrolment in an advanced maths or advanced science program

Assessment:
- 4 take home assignments (2 for Algebra and 2 for Analysis, 15% for each half),
- 2 take home exams (1 for Algebra and 1 for Analysis, 10% for each half),
- 1 final exam (50%).

Lecture Recordings? Yes.

Notes/Materials Available: Lecture notes are available before lectures.

Textbook: None prescribed.

Lecturer(s): Dr. Catherine Greenhill (Algebra), Dr. Lee Zhao (Analysis)

Year & Trimester of completion: 20T3.

Difficulty: 4.5/5.

Overall Rating: 5/5.

Your Mark/Grade: 79 (DN).

Comments:
The course lived up to its difficulty and it makes sense considering this is the taster for everything that you do in pure maths. It's split into two halves: the first half being analysis (taught by Lee Zhao) in the first five weeks and the second half being algebra (taught by Catherine Greenhill) in the last five weeks, so considerable effort needs to be shared among both parts.

The content was really interesting and it definitely serves as a great bridging course between first year courses and third year pure math courses. In algebra, you are introduced to group theory, transformations (reflections, rotations, translations, etc), and end with projective geometry (which treats lines and points as the same element). On the other hand, in analysis, you learn the underlying concepts of limits and sequences (Cauchy sequences), construction of the reals (Dedekind cuts, Stevin's construction), which leads nicely into p-adic valuation (and subsequently p-adic numbers), as well as inequalities (Holder's inequality and Jensen's inequality) and norms/convex bodies.

The assignments were quite fun and interesting, the analysis assignments ended up being a grind while the algebra assignments were fairly breezy. I enjoyed thinking about the assignments and they definitely helped with preparation for the finals.

Overall, there really isn't anything I can fault about the course. As difficult as the course was, it was the most enjoyable I have had in a math course thus far. Definitely recommend doing the course if you're willing to put in the work for it.

kierisuizahn

  • Trailblazer
  • *
  • Posts: 34
  • Respect: +72
Re: UNSW Course Reviews
« Reply #227 on: December 18, 2020, 03:12:51 am »
+8
Subject Code/Name: COMP3891 - Extended Operating Systems
Postgraduate Equivalent: COMP9283 - Extended Operating Systems

Contact Hours: 2x 2hr Lectures, no tutorials for the extended stream

Assumed Knowledge:
Prerequisites:
  • COMP1521 or DPST1092 or COMP2121 - Know how to navigate man pages, low level programming in C, MIPS
  • COMP2521 or COMP1927 - Know C programming, data structures
  • WAM of at least 75

Assessment:
  • 40% Assignments - Four assignments, numbered 0 through 3; assignment 0 is just to get you set up with OS programming, and is worth 4% overall, while the remaining 3 are 12% each; assignment 1 involves some concurrency using construct available in the OS161 environment and is relatively straightforward, as you can use the lectures to finish it; assignments 2 and 3 are actual OS coding, file management and virtual memory respectively; the last two assignments can take a long time, and require reading the code base if you want to have an easy time; they also have advanced components, which allow you to make up lost marks in the assignment component, but are much more difficult; to start on the advanced components, you need to ask permission at least a week before the due date, with the basic version of the assignment completed
  • 60% Final Exam - With the transition to online learning from COVID, the final was a 2 hour multiple choice exam, with a few numerical answers or "matching" questions, taken any time via Moodle; questions were very similar to the sample exam, mostly testing the course theory, with some calculations on top of them; assignments tested the coding part, so there wasn't any coding in the final; if you review lectures you should be fine except for a few questions regarding very specific parts of lectures; our exam didn't have any extended content in it this year, but it had historically

Lecture Recordings? Yes; pre-recorded lectures after transitioning online.

Notes/Materials Available: Lecture slides provided online, as well as tutorial problems with their solutions.

Lecturer(s): Dr. Kevin Elphinstone

Year & Term of completion: 2020 T1

Difficulty: 2/5

Overall Rating: 4/5

Your Mark/Grade: SY

Comments: If you have any interest in low-level programming, this is a good course, and leads on to COMP9242. The exam was really easy overall, but this may have been because it transitioned online. The last two assignments really need you to have read a substantial amount of the OS161 codebase to do well, but having done so it's relatively easy. I advise you to set up a good IDE on your local system to do the assignments, as doing it through VLab or SSH is painful, and it's very difficult to navigate such a large codebase without an IDE with decent features (I recommend VSCode - once it's set up you can very easily find what you need). Much of the documentation is in the code as comments, rather than in a separate document.

The content itself goes through an introduction to concurrent programming, and how OS's are made, along with the surrounding environment (so things like how I/O happens, interrupts, multiprocessing). Most of the content is relatively straightforward, and is pretty easy to understand as long as you pay attention to the basics. If you follow the lecture content, or can cram well, then most likely this will be a WAM booster. Do we warned though, the final mark is a weighted geometric mean of your assignment and your final exam mark, so if you screw up one of the components, it may affect your overall mark substantially.
« Last Edit: August 28, 2021, 10:40:44 am by kierisuizahn »

kierisuizahn

  • Trailblazer
  • *
  • Posts: 34
  • Respect: +72
Re: UNSW Course Reviews
« Reply #228 on: December 18, 2020, 03:13:50 am »
+8
Subject Code/Name: COMP4141 - Theory of Computation

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

Assumed Knowledge:
Prerequisites:
  • MATH1081 - Know set theory, logic and proofs, and possibly some combinatorics or graph theory
  • COMP2521 or COMP1927 - Know the graph algorithms, no need for coding

Assessment:
  • 30% Homework - (Almost) weekly assignments; 8 in total, with the best 6 taken for the homework mark; vary quite a bit in difficulty, but consist of 3-4 or so questions a week, which can take anywhere between a few minutes and a few days to figure out; the main reason you need to be on the ball regarding content, and very maths/logic heavy; I recommend learning how to typeset in LaTeX for these, but writing them up can still take quite a while; depending on your tutor, they can be marked quite pedantically
  • 20% Midterm - Since the midterm was the same week uni shut down from COVID, we had three options: take it in-class, take it online but make the weighting 10% and make the final 60%, or don't take it and the final will be worth 70%; relatively easy, testing the first few weeks of content; doesn't ask too many difficult questions; an hour long (one tutorial slot); mostly just applying the methods you learnt so far and some complexity theory
  • 50% Final Exam - Due to COVID, transitioned to a 24-hour take-home exam; designed to take around 8 hours; tested pretty much every topic relatively evenly; had some true/false questions at the start, but otherwise very proof-heavy; similar questions to the tutorials and assignments

Lecture Recordings? Yes; recorded, and transitioned to live online lectures.

Notes/Materials Available: Lecture slides and tutorial problem provided online. A few solutions, but only the first few tutorials.

Lecturer(s): Paul Hunter

Year & Term of completion: 2020 T1

Difficulty: 3.5/5

Overall Rating: 5/5

Your Mark/Grade: SY

Comments: A really fun course, especially if you're mathematically-inclined, or you're interested in theoretical computer science. All of the assignments and exams are proof-heavy, so you'll need to be pretty well-versed in formal proofs and proof techniques. If you've done COMP3821, you may have been introduced to the P/NP complexity classes already, which is the starting point for the course. There's a lot of hardness reductions (if you know what they are) throughout the course, and quite a bit of construction, requiring a different kind of problem solving than many of the courses that you've done beforehand. I really enjoyed this course though, probably more so than any previous COMP course.

Content-wise, you start off going over some very basic proof stuff, revising some of the techniques from MATH1081, but the pace picks up pretty quickly. The whole course revolves around the foundations (not the basics) of theoretical computer science, from defining basic complexity classes like P and NP, leading to more involved classes like PSPACE, L, etc. Towards the end of the course you'll start looking at the polynomial hierarchy, and some of the more unknown areas of computer science with some (less-known) open problems.

Once again, I highly recommend this course to anyone interested in theoretical computer science.

kierisuizahn

  • Trailblazer
  • *
  • Posts: 34
  • Respect: +72
Re: UNSW Course Reviews
« Reply #229 on: December 18, 2020, 03:15:52 am »
+8
Subject Code/Name: MATH3161 - Optimization

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

Assumed Knowledge:
Prerequisites:
  • Either these two:
    • MATH2011 or MATH2111 or MATH2510 - Know gradients of multivariate functions and generally how to deal with multivariate functions
    • MATH2501 or MATH2601 - Know how to deal with vectors and vector spaces well
  • Or these two:
    • MATH2019 with a distinction
    • MATH2019
  • Or these two:
    • MATH2069 with a credit
    • MATH2099

Assessment:
  • 35% Class Tests - Two class tests, worth 15% and 20% respectively; relatively straightforward, and mostly similar to past tests and tutorial problems; marking is very harsh, and you can lose multiple marks for simple mistakes, so it's important to be accurate
  • 5% Assignment - A small assignment involving some modelling where you turn a problem into a model and try to solve it; used an online solver to solve the two resulting optimisation problems (we were allowed to); again, harshly marked
  • 60% Final Exam - Due to COVID, our final exam was 3 hours long instead of 2 hours, and even though we were told it was meant to take 2 hours, the entire 3 hours were needed; ended up using 11 pages to write solutions; very long and pretty standard exam; if you do the past exams you should be fine; only one or two parts involving more complicated proofs; again, marked very harshly

Lecture Recordings? Yes; recorded, and transitioned to live online lectures.

Notes/Materials Available: Lecture slides, as well as tutorial problem and solution videos available online.

Lecturer(s): Prof. Jeya Jeyakumar

Year & Term of completion: 2020 T1

Difficulty: 2.5/5

Overall Rating: 3.5/5

Your Mark/Grade: SY

Comments: Honestly not that bad of a course, but be warned: Jeya marks very harshly. The course content is easy, so you lose marks elsewhere instead. All of the assessments were quite standard, and followed previous year's assessments pretty closely, but the final was made longer because we had more time; I'm convinced of that. A lot of the problems will have long solutions with a lot of writing and calculation, but many of them can be solved using method learnt in the course step by step, and don't require much thought.

Content-wise, you learn a lot of results surrounding optimisation (as one might expect), and more specifically a lot of necessary and sufficient conditions for extreme to be local/global maxima/minima of a function, especially in the context of convex functions. You also learn some algorithmic techniques for finding local extrema, as well as their good/bad points and their various properties.

I've ended up using some of the techniques I learnt in this course in other extracurriculars, so it's certainly applicable, even if somewhat boring.

kierisuizahn

  • Trailblazer
  • *
  • Posts: 34
  • Respect: +72
Re: UNSW Course Reviews
« Reply #230 on: December 18, 2020, 03:17:14 am »
+8
Subject Code/Name: COMP3151 - Foundations of Concurrency

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

Assumed Knowledge:
Prerequisites:
  • Either
    • COMP1927
    • Or these two:
      • COMP1521 or DPST1092 - Know multi-process programming
      • COMP2521 - Know basic programming and algorithm design

    Assessment:
    • 10% Homework - (Almost) weekly homework, totalling 8; tests the week's lecture content, usually either requiring theory answers, or Promela/Java code; relatively simple if you're up to date with the lecture content, but some can take some time to write up
    • 40% Assignments - Three assignments, worth 10%, 15%, 15% each; first assignment involved proving some properties of a supplied algorithm and some theory; second assignment was the hardest, involving designing an algorithm with a partner to solve a concurrent problem and implementing it in both Java and Promela, alongside a writeup about the algorithm; last assignment was (with the same partner) a 10 minute video about concurrency constructs in a language of your choosing; the assignments differed quite a bit in how easy or difficult they were; and all required a large investment of time
    • 50% Final Exam - A 24 hour take-home exam, revolving around an unpublished paper by one of Liam's colleagues; involved mostly new things, and required reading and comprehending the paper before answering questions using concepts introduced in the paper; also included a critical analysis of the paper at the end; very open-ended, and really not much you can do to prepare for it explicitly, other than possibly doing some writeups on other papers mentioned throughout the course

    Lecture Recordings? Yes; live online lectures, all recorded.

    Notes/Materials Available: Lecture notes and slides online, as well as homework solutions (after the due date).

    Lecturer(s): Dr. Liam O'Connor

    Year & Term of completion: 2020 T2

    Difficulty: 3.5/5

    Overall Rating: 4/5

    Your Mark/Grade: 91 HD

    Comments: Don't mistake "foundations" to mean "basic" - the course assumes you're ready and willing to put in the effort to learn the content if you're unfamiliar with concurrency in general. As with many theoretical computer science courses, the course involves a lot of maths, usually a lot of logic, and being able to understand mathematical notation. I'd recommend having dome MATH1081 before this course, though Liam has since left UNSW and may no longer be teaching the course, in which case the course could change completely (as it did the year before).

    Content-wise, the course focusses mostly on verification of concurrent programs. Things like proving a program will produce a required result using Hoare logic, or proving an algorithm will always terminate. Of course, this includes concurrent properties, like livelock and deadlock, amongst others. Towards the end of the course, the focus shifted to distributed systems, and how you can ensure a system running on several isolated systems maintains integrity and avoids deadlock. The course involves learning how to write Promela code, and it's expected that you can learn how to use Java to a basic level on your own (though some resources were provided to get you started).

kierisuizahn

  • Trailblazer
  • *
  • Posts: 34
  • Respect: +72
Re: UNSW Course Reviews
« Reply #231 on: December 18, 2020, 03:18:05 am »
+8
Subject Code/Name: COMP3900 - Computer Science Project

Contact Hours: 1x 2hr Lecture (sort of, see comments), 1x 2hr Tutorial/Lab

Assumed Knowledge:
Prerequisites:
  • COMP1531 - Know the SCRUM methodology
  • COMP1927 or COMP2521 - Know how to program at a basic level at least
  • Enrolment in a BSc with a Computer Science major, and at least 102 UoC completed

Assessment:
  • 10% Proposal - Honestly should be worth more than 10%; a report containing a bunch of stuff you propose your project will becomes; user stories, UI mockups, and discussion about how novel your project is showing research into whatever area it is in, and what it has over currently existing products; if you want to do a custom project (the ones they have are really bad), then you also need to do a pre-proposal, where you explain what the project will involve
  • 10% Progressive Demos/Reflections - Two progressive demos, where you show off the features you have working, with relation to your sprints, and two reflections; reflections involve discussing things that went well, things that didn't go well, and ways to improve them for the next demo, as well as how those improvements worked from your last demo (for demo B); each of these four components are worth 2.5%; again, not really worth 2.5%, should be more
  • 20% Software Quality - After completing your project, you have to submit your code for assessment; this includes code style, design, commenting, etc. and is probably quite similar to the style marks you got from previous COMP courses; further, interface design and usability-related criteria are included here
  • 20% Project Report - A final report including what is effectively a manual for how to set up and use your project; includes discussion over what technologies you utilised, as well as any licenses you would need to follow; really boring and requires a load of diagrams
  • 20% Final Project Demo - You have to show off your project to your tutor, and get marked mostly on your ability to present (as well as your teach members'); you also need to make sure you show off every user story, as well as emphasise how your project meets the project objectives (either those given to you, or the ones you made up in the pre-proposal)
  • 20% Participation - Basically a way to scale marks somewhat; you give a mark to your group members based on how much they contributed, and this extra 20% "buffers" the 60% from the previous three assessment items; if you get 10/10 from everyone in your group, your mark for this 20% is the same as the average of the previous 60%; unless you hate someone, probably just give 10, it doesn't increase your mark, just lowers others, unless something major happens and you have to take the issue to your tutor

Lecture Recordings? Yes, all recorded.

Notes/Materials Available: Lecture slides (not very useful) uploaded.

Lecturer(s): Matthew Sladescu

Year & Term of completion: 2020 T2

Difficulty: 3/5 (varies a lot depending on your team and project)

Overall Rating: 1/5 (also varies a lot depending on your team and project)

Your Mark/Grade: 94 HD

Comments: I hate project courses, especially when you need to group with people you don't know. Luckily, my group members were good, and made the whole experience palatable. Definitely coordinate tutorial times with your friends to get a good group you get along with, or the whole experience might just be hell. Although there's "lectures" they basically aren't anything useful, and there's only about 3 or 4 of them throughout the term. The majority of the marks are in the final demo, but if you leave it until the week before the final demo, you probably won't have enough time. If you plan on doing a custom project, make sure you have enough features to satisfy your tutor, but not too many. Our tutor wasn't convinced so we added more features to get approval and suffered for it. You can use any language you want as long as your tutor will be able to follow your instructions to set up and run your project on their own computer. From what I can tell, the requirement that your project be "novel" is just so they can give no one 100% in those criteria. Overall a pretty bad course, I really hate project courses, and we left our milestones until the days before the deadline so didn't sleep for days at a time to get it done. Our tutor was relatively nice marking though.

kierisuizahn

  • Trailblazer
  • *
  • Posts: 34
  • Respect: +72
Re: UNSW Course Reviews
« Reply #232 on: December 18, 2020, 03:19:03 am »
+8
Subject Code/Name: COMP9444 - Neural Networks and Deep Learning

Contact Hours: 2x 2hr Lectures

Assumed Knowledge:
Prerequisites:
  • COMP1927 or COMP2521 or MTRN3500 - Know how to program at a basic level at least

Assessment:
  • 30% Assignment 1 - Mostly involves answering some theory questions and writing up PyTorch code as dictated by the questions to learn datasets; required you to analyse the efficiency of different approaches and explain the results; required a large amount of neural network training over a long time, so definitely something you should start at least a week beforehand
  • 30% Assignment 2 - A much more open-ended assignment, where instead of being guided through solving some problems, you're asked to design a neural network to solve a problem, with few restrictions; again, requires a long time to train, so at least a week before the due date is recommended; mostly involves tweaking parameters to get results you want; mark based mostly on your accuracy, using a "function" undisclosed, so possibly compared to other students
  • 40% Final Exam - Due to COVID, the final exam was an online exam, with multiple choice and some numeric responses; very straightforward, and almost identical to the sample exam provided; mostly similar questions to the supplied quiz problems (quizzes aren't assessable) and exercises; going over the lecture slides should be enough, though a few lectures require the recording to make sense of them

Lecture Recordings? Yes, all recorded.

Notes/Materials Available: Lecture slides, quiz and exercise solutions, all available online.

Lecturer(s): Dr. Alan Blair

Year & Term of completion: 2020 T2

Difficulty: 1.5/5

Overall Rating: 2.5/5

Your Mark/Grade: 97 HD

Comments: A pretty boring course personally. Teaches you about different architectures of neural networks and how deep network work, along with the theory behind them, but only a little content beyond COMP9417 of interest. You'll need to have some way of using a good GPU, either by having one or by using an online service, or training the neural networks required for the assignments will be hell and take forever. If you're interested in AI, then you might as well take this course; it's not as bad as some of the other AI courses I've done. Otherwise, a little bland, and doesn't teach you much beyond what you can find online, as long as you're motivated enough.

Content-wise, the course goes through several architectures of neural networks, taking a look at specialised architectures for language processing and image processing. Later in the course, you look at generative adversarial networks, and autoencoders, ending with a more theoretical look at deep learning and reinforcement learning. Overall a pretty decent overview.

kierisuizahn

  • Trailblazer
  • *
  • Posts: 34
  • Respect: +72
Re: UNSW Course Reviews
« Reply #233 on: December 18, 2020, 03:19:52 am »
+8
Subject Code/Name: COMP4161 - Advanced Topics in Software Verification

Contact Hours: 2x 2hr Lectures

Assumed Knowledge:
Prerequisites:
  • Completion of 48 UoC
Informally, knowledge in functional programming and first-order logic.

Assessment:
  • 50% Assignments - Three assignments, each equally weighted; first one generally theory-heavy involving type derivations, and proving some propositional and first-order formulae using Isabelle; second and third assignments mostly focussed on using Isabelle to prove things, and some C verification; second assignment was the hardest of the three; if you're up to date with lectures, you probably only need a few days to do them, but it's best to leave a long time in case you get stuck on one
  • 50% Final Exam - A 24 hour take-home exam involving some theory, but mostly using Isabelle to prove theorems; very similar to the assignments, and mostly straightforward if you're up to date on lectures, and have done or watched the lecture demos; the lecture demos and past exam/assignments are your best resource for this

Lecture Recordings? Yes, all recorded.

Notes/Materials Available: Lecture slides, assignment solutions, and lecture demos all available online.

Lecturer(s): Prof. Gerwin Klein, Dr. Johannes Pohjola, Dr. Christine Rizkallah, and Dr. Miki Tanaka

Year & Term of completion: 2020 T3

Difficulty: 3.5/5

Overall Rating: 4/5

Your Mark/Grade: 95 HD

Comments: The course covers a lot of theory regarding automated theorem provers and the foundations such as lambda calculus, but the assessments are generally quite practical, and it has a large focus on learning how to use Isabelle itself. A pretty interesting course overall, especially towards the end where the focus shifts to verifying C code using Isabelle. A lot of the theory involves some familiarity with mathematical proofs and notation. The proofs in Isabelle are generally made easier if you can reason logically to guide the proof as well, though you can sometimes just bruteforce it.

Content-wise, the course covers untyped and typed lambda calculus and higher-order logic before diving into the concepts the internals of Isabelle are built upon; rule induction, inductive datatypes, confluence, and how Isabelle handles these internally. The course ends teaching how AutoCorres translates C code to a meta language that can be reasoned about using Isabelle to prove properties of programs with Hoare logic.

kierisuizahn

  • Trailblazer
  • *
  • Posts: 34
  • Respect: +72
Re: UNSW Course Reviews
« Reply #234 on: December 18, 2020, 03:22:29 am »
+9
I wholeheartedly despise this course

Subject Code/Name: COMP4920 - Management and Ethics

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

Assumed Knowledge:
Prerequisites:
  • COMP2911 or COMP2511 - None of this course is used in COMP4920
  • Completion of 96 UoC in Computer Science

Assessment:
  • 10% Lecture Summaries - Two sets of two summaries of the lectures; peer-marked; your mark is not only dependent on how other students marked you, but also how close you marked others' summaries to the average mark for them; as long as your markers are decent people, relatively easy marks, at least compared to everything else
  • 20% Seminar Participation - participation not only involves participating in the weekly seminars by asking questions and discussing the issues, but also weekly reflections on the seminar of that week; although it's against university guidelines, an email from a tutor implies that this is based on how much you participate, and not the quality, and the number of students who can get high marks is limited; turns seminars into a snake pit
  • 30% Student Seminars - Two seminars done in groups of size 3-5 depending on your class size and whether your tutor is okay with 5 person groups; each seminar on one of the supplied list of topics, and has to be different to everyone else's topic, so it's first-come-first-served; total length is appro. 50 minutes, and a small part of the mark if based on specifically your performance in the seminar rather than the seminar overall (four criteria are content, structure, presentation, and individual)
  • 40% Company Case Study - An approx. 2000 word (apparently but also not? See comments) essay discussing ethical issues surrounding a company; topic is of your own choice but should differ from your group's student seminar topics; topic needs to be IT related (see comments for what this means); expected to be balanced and come to a conclusion or some justified stance on the actions of the company

Lecture Recordings? Yes; live but all recorded, but possibly only because COVID forced us online

Notes/Materials Available: Lecture slides available online.

Lecturer(s): Wayne Wobcke

Year & Term of completion: 2020 T3

Difficulty: 4/5 (varies wildly depending on your tutor, and also whether you can lie your way through an ethical discussion well)

Overall Rating: -/5 (varies wildly between -500 and -5 depending on your tutor, and whether Wayne had a red or green apple today)

Your Mark/Grade: 75 DN

Comments: The content involves professional conduct, developing ethical arguments, and ethical perspectives, with lectures provided entirely by guest lecturers actually qualified in the area, excluding the first lecture introducing the course and its (lack of) structure. The guest lectures were actually interesting.

I'll keep it brief, but in short I despise this course. The following is probably very biased, but I encourage you to talk to past students and their experiences with the course. The course chat turned into a rant room against Wayne by the end of term, and almost no one I know was happy with their mark. I have heard that you can get this course replaced with an equivalent ethics course from another school or faculty. If you can, I highly suggest you do so.

Wayne Wocke (also referred to as Wayno, Wobkek, or Wobcuk amongst previous cohorts) is by far the most incompetent course administrator I have ever seen, and his actions (or inaction) come off as deliberately malicious. Many many complaints have been made against him, but UNSW refuses to replace him since "there's no one else qualified to take over the course." This term, it got to the point that the student representatives for CSE compiled a two-page document listing improvements for the course, after collecting 14 or so pages of complaints from students (there was a google doc we could fill with complaints, and it reached 14 pages before it was made private and they moved to an online form instead). A large amount of questions on the forum remain unanswered, and Wayne refused to acknowledge many questions asking to clarify assessment criteria. After being told that the quality of our contributions in class mattered, we found out that tutors were told not to give more than 2 marks of 9 or 10 out of 10 for participation, and some tutors used number of contributions to directly rank students. Within 2 hour, there is not enough time for 25 or so students to contribute to discussion sufficiently. There were several accounts of tutors acting unprofessionally, from ripping into a group for their seminar ("providing feedback") in front of the entire class, to asking what nationality a student was because their name didn't sound like a name typical of their accent. My tutor, Ali, was very chill, though our marking was still incredibly harsh. There was mention of 17/20 being the highest mark of seminar 1 amongst the cohort. 16 was the highest in our class. Tutors reported being told to reduce marks because their class average was too high. Considering 17 was the max mark, this sounds insane. There were a lot of questions on the forums regarding the length of the case study. Wayne refused to give an expected length, insisting that you should write an essay with "appropriate length", though mention of 2000 words was made at some point, so many took this to be satisfactory. By the end of the course, most were over the course, and putting in very little effort. The definition of what an "IT-related issue" was was not only vague, but misleading. Many of the companies provided as examples in the case study specification were not sufficiently IT-related for Wayne, and what was or was not considered IT-related differed between tutors, with many tutors providing contradictory opinions on which topics were IT-related. Wayne's actions throughout this course border on unethical. We discussed professional conduct in seminars, and Wayne is a perfect example to show that you can still get a job without caring for professionalism and competency.

kierisuizahn

  • Trailblazer
  • *
  • Posts: 34
  • Respect: +72
Re: UNSW Course Reviews
« Reply #235 on: December 18, 2020, 03:24:25 am »
+8
Subject Code/Name: COMP6741 - Parameterized and Exact Computation

Contact Hours: 2x 2hr Lectures

Assumed Knowledge:
Prerequisites:
Assessment:
  • 40% Lecture Summaries - An assignment approx. every week, totalling 6, of which the best 5 count; assignments 4 and 5 are in groups, where your group is determined by your performance on assignment 1 and 2 (so your group members have similar mark expectations); assignments 1-3 and 6 involve mostly theory from the course, and proofs; assignments 4 and 5 involve implementing an algorithm in SageMath, and experimenting with various parameters to see how it interacts with the dataset; the theory assignments can require quite a long time, as some of the questions are very difficult; assignment 5 includes a 10 minute presentation explaining your results to the class, alongside your group members, and a small Q&A at the end; the class size is small so this was very chill
  • 60% Final Exam - Due to COVID, a 5-hour take-home exam instead of in-person; a sample exam was provided and one of the questions was the same (we were told beforehand this would be the case), so we could copy-paste the solution over; questions very similar to the exercises and assignments, but a little easier to do due to time constraints; as with the theory assignments, very proof-heavy; you need to be very familiar with the content (incl. exercises) to go well in the exam

Lecture Recordings? Yes, lectures recorded, and lecture timeslots converted into recorded consultations.

Notes/Materials Available: Lecture slides, exercises with solutions, and some more condensed lecture notes all available online.

Lecturer(s): A/Prof. Serge Gaspers

Year & Term of completion: 2020 T3

Difficulty: 4/5

Overall Rating: 5/5

Your Mark/Grade: 100 HD

Comments: God I love this course. I found the course content really interesting, and the content was taught well. It follows on heavily from COMP4141, starting off with NP-reductions before moving more into parameterised algorithms. Being familiar with reductions will help (since the course has so many), and having some experience with formal proof methods will help as well. A really nice course if you're interested in theoretical computer science, and more so if you're interested in complexity theory and parameterised algorithms. The lectures are pre-recorded, and the lecture timeslots are instead consultations, where Serge went over the exercises and assignment solutions, which really helped with understanding the course.

Content-wise, the course begins talking about complexity in general, and NP-hardness reductions, before moving onto parameterised complexity classes. The remainder of the course mostly focuses on techniques to find FPT algorithms, and other parameterised classes, as well as establishing several examples to base reductions from, and a lot of theory behind the techniques. It also discusses different parameters, and how they can affect tractability. The course ends discussing heuristics, and using local searches as a method to solve NP-complete problems efficiently.

anomalous

  • Adventurer
  • *
  • Posts: 12
  • Respect: +17
Re: UNSW Course Reviews
« Reply #236 on: December 20, 2020, 07:39:17 pm »
+6
Subject Code/Name: COMP3331 - Computer Networks and Applications

Contact Hours:
- 2x 2 hour lectures
- 1x 2 hour lab, which runs instead as a tutorial before both your midterm and in the last week of term

Assumed Knowledge: One of the following:
- COMP1927
- COMP2521
- MTRN3500

You should at least come into this course being comfortable with C, Python or Java. In practice, you will likely want to know one of at least Python or Java specifically, since doing labs and the assignment in C can be a bit of a pain (but an interesting challenge).

Assessment:
- 6x labs, worth 20% of your course mark all up; only your best 5 labs count
- 1x programming assignment, worth 20% of your course mark
- 1x midterm quiz, worth 20% of your course mark
- 1x final exam, worth 40% of your course mark

The only notable change to the above compared to normal exams was that the midterm and final were both conducted on Moodle. Each was also split into two parts, and you had a 15 minute window to start either after they went live on Moodle.

Lecture Recordings? Yes, screen and voice recorded.

Notes/Materials Available: Lecture slides are the primary resource you’re given. A collection of non-compulsory “homework” questions are also progressively released during the term, which will be of particular interest since there are no past midterm or exam papers given for preparation.

Textbook: This course makes heavy reference to “Computer Networking: A Top Down Approach” by Kurose and Ross (preferably the 7th edition). While it’s not compulsory to do so, it’s a very good idea to read this textbook as the lectures are often lacking all of the details that may pop up in your midterm or exam.

Lecturer(s): Assoc. Prof. Wen Hu

Year & Trimester of completion: 20T2

Difficulty: 3.5/5, which might come as a surprise to some who have done this course; read below

Overall Rating: 2/5

Your Mark/Grade: 80 DN

Comments:
I personally found this course a bit underwhelming, and I wish I picked something else instead. This is partly due to it just not being my thing, but also some not so great things about the course when I took it. Wen is pretty meh as a lecturer, and the way he did things during the term I just found strange for some reason (I can think of no other words to describe it than those). Since the course runs all year though, you effectively have 3 lecturers to choose from depending on when you do it, so the choice is yours. I’ve heard different (better) things from people who did the course at other times, so take all of what I've said here and below with a grain of salt.

Although this course has a historical reputation for being easy, I wouldn’t be so hasty. There's a lot of content to deal with, and many places where you can lose marks very quickly. The midterm especially can be dangerous because although it’s all multiple choice, you lose 0.25 marks for each wrong answer on top of not getting any of the marks the question was worth. I also don’t know if it was just me, but the final exam was a combination of strange and hard; though I must confess, I didn’t study well for this one and ended up paying for it. On the other hand, the practical work is pretty easy marks. The labs are tedious but straightforward, and if you stick around for your lab classes, the tutor often goes through the lab giving some of the answers to get you started. The assignment is also fair; the main difficulty for me was interpreting the spec, and reconciling it with the clarifications given on the forum. It’s also released quite early to let people get a head start if they want.

While I found the content useful and definitely stuff worth knowing as a CSE student, one of the big things which always rubbed me the wrong way about it was how closely this course follows the textbook. I know people who say some courses are just “paying to be read a textbook for 10 weeks” are cliche at this point, but in this case I tend to agree. It’s always been my experience that lectures added something to the content which made a course worth taking over reading a textbook in your own time, and perhaps it was just the lecturer when I did it, but I didn’t really get any of that with this course. I feel like it would’ve been more worthwhile taking something else and just self-studying the material in my own time using the book.

To me then, it seems that it, like many other courses in CSE, is a gateway course; a course that allows you to do further courses in the area of networking, and other interesting courses like COMP9243 that have it as a prerequisite. If you have no current aspirations to do those though and you’re tossing up between it and something you think might be more interesting, what I’d suggest is take that other course and skim read the networks textbook a bit to get a feel for it. If you find what you’ve read interesting and you have the room to do the course or you change your mind about those future courses, then you’ve got some room to breathe still. If you're someone who's been told by others that you should do this course because having knowledge about how the internet works is useful (and they're right), I'm not entirely sure that doing this course is the best way to go about that. I don't want to discourage people from doing something they might enjoy, though, so regardless of your situation, I'd recommend reading the book and getting a feel for the course first.
« Last Edit: December 20, 2020, 07:41:52 pm by anomalous »

Bruh Moment

  • Fresh Poster
  • *
  • Posts: 4
  • Might I trouble you for a drink?
  • Respect: +6
Re: UNSW Course Reviews
« Reply #237 on: December 20, 2020, 07:42:49 pm »
+7
Subject Code/Name: SENG2021 - Requirements and Design Workshop

Contact Hours: 2x 2hr lectures in week 1, 1x 20min mentoring session each week

Assumed Knowledge: COMP1531
This requirement is no joke, since the course is essentially just a drawn-out COMP1531 project. It’s also not enough, the course requires you to teach yourself a lot of things to have a really successful project. In my case, it was helpful that I already knew a handful of JS and React.

Assessment:
Deliverable 1 (15%) - First, your group will need to come up with an idea for a project, with the only restrictions being that it needs to solve a real problem using a publicly available API. Most people opt for something based on one of Google's developer APIs (e.g. the Maps API) or one of the weather APIs. Then you'll need to create a set of user stories COMP1531 style, a "low-fidelity" mockup of the user interface (basically drawings), and a "high-fidelity" mockup (I strongly recommend using Figma for this). This deliverable may be worth only 15% but a lot of your group's performance will basically ride on the idea you choose, including aspects they seem to not disclose at the start of the course like how "profitable" the idea is and how "unique" the idea is. Although they say it's fine to make a clone of an existing app, it will actually hurt you in later deliverables.

Deliverable 2 (20%) - This deliverable is a design report which outlines how you actually intend to build the project. At this point you should be settled on a stack and the API you'll be using. In this course, this is basically as close to the code as the assessment gets. While your code for the project should actually work, they never directly assess it and only either watch live demos or read this design document.

Deliverable 3 (15%) - In this deliverable you'll pitch your idea along with your mockups and architecture to a bunch of other groups and the lecturer and course admin. This is a good chance to get an idea of the strengths and weaknesses of your idea, as well as what features you could probably consider for later deliverables. The course staff are fairly good with feedback and will most likely give your group something good to act on, and you can watch and use the feedback other groups in the same session get.

Deliverable 3 (15%) - In this deliverable you'll pitch your idea along with your mockups and architecture to a bunch of other groups and the lecturer and course admin. This is a good chance to get an idea of the strengths and weaknesses of your idea, as well as what features you could probably consider for later deliverables. The course staff are fairly good with feedback and will most likely give your group something good to act on, and you can watch and use the feedback other groups in the same session get.

Deliverable 5 (30%) - Finally, you'll present a live demonstration of your project, as well as a miniature pitch and an overview of your features. At this point they can't actually ask you to do anything specific (e.g. "what happens if you click the Cancel button?") so technically speaking your project doesn’t have to work. I've heard rumours that a lot of decently scoring projects basically barely worked outside what was in their demo, although obviously the more features you can actually demo the better. Once again, more emphasis is put on the problem you're solving and your pitch than what you actually managed to achieve technically speaking.

Lecture Recordings? Yes - Although there aren't many lectures to begin with

Notes/Materials Available: Lecture slides, lecture notes, deliverable documentation

Textbook: None

Lecturer(s): Fethi Rabhi, Mortada Al-Banna

Year & Term of completion: 20T1

Difficulty: 2.5/5

Overall Rating: 2.5/5

Your Mark/Grade: ~80 DN - Anonymised, since the course is apparently graded on a pretty strict curve.

Comments: I was blessed with a very good team who all committed a good amount of their time to the project, I'm not sure what the experience would've been like if my team wasn't as good. Also, our group had a very nice and knowledgeable mentor, although I believe basically all the mentors are good since I've never heard a negative experience and know who quite a few of the other mentors are. Overall the course is basically just a drawn out, expensive hackathon. You teach yourself a lot of the concepts needed to build and pitch some basic prototype, and your pitch is the most important part of it all. I still think it's a good idea, it forces students to learn how to teach themselves and gain some industry-relevant skills, and gives them a project to talk about in their search for internships that isn't just an assignment that 15 other applicants also did. However, I can't help but think that the entire course could basically be replaced with a hackathon. I'm still not really sure what value I got out of the course, especially when I already had my own projects. We need to talk about the marking as well. The course is graded on a curve centred around 75, and it's very hard to score over 90. This kind of marking is technically against UNSW's own grading policy (UNSW, or at least CSE, requires standards-based marking) and is very unusual. Although, given the nature of the course, I'm not sure they have much of a choice.
A-Levels: CS A* Maths A* Further Maths A* Physics A
Favourite anime: K-On!

MLov

  • Adventurer
  • *
  • Posts: 14
  • Respect: +16
Re: UNSW Course Reviews
« Reply #238 on: December 21, 2020, 06:35:15 pm »
+6
Subject Code/Name: MATH5975 Introduction to Stochastic Analysis

Contact Hours:  2 x 2hr lectures (i think? Because its 2020 everything was moved online so I just watch lecture recordings lol. They posted all lecture recordings for the previous year.)

Assumed Knowledge: No prerequisite.

Assessment:  2 assignments, mid term test and a final, because COVID its pass/fail 

Lecture Recordings?  Yes, 2020 everything is online so you would expect everything to be recorded

Notes/Materials Available:  N/A

Textbook: N/A

Lecturer(s): Dr. Libo Li

Year & Trimester of completion: 2020/T1

Difficulty: 4/5 (if pass/fail didn't happen)

Overall Rating:  5 Out of 5

Your Mark/Grade: Since it is a pass/fail so I only know i didn't fail

Comments:
A mesh of measure theory, stochastic differential equation and stochastic process but at very introductory level. In my opinion a superior introduction course if you are serious about researching and learning stochastic process. The lecture is very organised (comparing to some other postgrad math courses) and Libo is very friendly and chill.

owidjaja

  • National Moderator
  • Part of the furniture
  • *****
  • Posts: 1315
  • Bibliophile. Stationery addict.
  • Respect: +1010
Re: UNSW Course Reviews
« Reply #239 on: December 21, 2020, 11:11:45 pm »
+4
Subject Code/Name: MATH2018 - Engineering Mathematics 2D

Contact Hours:
This is the online version of MATH2019, so technically 0 but there is a playlist of Youtube videos where you learn the content.

Assumed Knowledge: MATH1231

Assessment:
10%: Weekly quizzes x9
20%: Class Test 1
10%: Class Test 2
60%: Final Exam

Lecture Recordings?
They give you links to the Youtube playlist where you watch the content.

Notes/Materials Available:
Links to Youtube playlist, step-by-step SmartSparrow tutorials

Textbook: N/A

Lecturer(s): Dr Shane Keating

Year & Trimester of completion: 2020 T3

Difficulty: 3.5/5

Overall Rating: 3/5

Comments:
A surprisingly decent course, especially for someone who's not good at math. As long as you know how to differentiate and integrate, then it's all good. The problem is that you need to really be on top of the content since there will be no lecturers and tutors making sure you're on top of your content, except for the Moodle forums and the Math Drop In center for guidance. It also kind of sucks that the final exam is weighed 60% but it's still doable.
2018 HSC: English Advanced | Mathematics | Physics | Modern History | History Extension | Society and Culture | Studies of Religion I

ATAR: 93.60

2019: Aerospace Engineering (Hons)  @ UNSW