COMP1600: Difference between revisions

From Hitchhiker's Guide to CS
Jump to navigation Jump to search
m (add category)
Tag: 2017 source edit
m (Update link)
Tag: 2017 source edit
 
(One intermediate revision by one other user not shown)
Line 9: Line 9:
|-
|-
! style="text-align: left;" |Webpage
! style="text-align: left;" |Webpage
|https://cs.anu.edu.au/courses/comp1600/
|https://comp.anu.edu.au/courses/comp1600/
|}
|}


COMP1600 is a first year second semester course which serves as an introduction to theoretical computer science. It's unlikely you will have seen many of the concepts taught before even if you have lots of programming experience. It has a similar structure to [[COMP1100]]: weekly lectures and labs, 3 assignments, a mid-semester exam and a final exam. It also has weekly quizzes worth 1% each with unlimited retries - make sure to set a calendar reminder to do them because they're very easy to forget!
COMP1600 is a first year second semester course which serves as an introduction to theoretical computer science. It's unlikely you will have seen many of the concepts taught before even if you have lots of programming experience. It has a similar structure to [[COMP1100]]: weekly lectures and tutorials, 3 assignments, a mid-semester exam and a final exam. It also has weekly quizzes worth 1% each with unlimited retries - make sure to set a calendar reminder to do them because they're very easy to forget!


There is no programming in this course. Instead, there's lots of maths proofs. You do a few maths proofs about Haskell programs (hence the [[COMP1100]] prerequisite) but you never write code yourself during the course.
There is no programming in this course. Instead, there's lots of maths proofs. You do a few maths proofs about Haskell programs (hence the [[COMP1100]] prerequisite) but you never write code yourself during the course.
Line 18: Line 18:
For the first 3 weeks you will learn about formal Boolean logic and how to prove logical statements with natural deduction. Then you'll move on to program proofs with structural induction and Hoare logic for 3 weeks. Then you'll learn about automata, Turing machines, grammars, regular expressions, and formal languages for 4 weeks. Finally, you'll learn about decidability/computability and computational complexity.
For the first 3 weeks you will learn about formal Boolean logic and how to prove logical statements with natural deduction. Then you'll move on to program proofs with structural induction and Hoare logic for 3 weeks. Then you'll learn about automata, Turing machines, grammars, regular expressions, and formal languages for 4 weeks. Finally, you'll learn about decidability/computability and computational complexity.


Many people without much of a background in maths find the course quite difficult. If you don't have much background, make sure to learn all the notation early on and try doing the quizzes and/or assignments in a study group.
Many people without much of a background in maths find the course quite difficult. If you don't have much background, make sure to learn all the notation early on and try doing the quizzes and/or assignments in a study group.  


In 2021, the final exam was quite difficult. It's worth trying really hard on the assignments and doing all the quizzes to make sure you get a mark you're happy with. Assignment and exam marking is very black and white: if a question says to write a proof in full detail, you will lose marks if a single step is missing in a 2 page long proof, so err on the side of verbosity. Some quizzes have trick questions too.
David Quarel has created [https://www.youtube.com/channel/UCkSh1ciMG3AkFMZ03a7IjFg a series of explanatory videos] that cover the entire course content, and several past exams. Many students find these videos easier to understand than the official lectures - so we highly recommend watching these in addition to the official lectures if you're getting stuck!
 
In 2021, the final exam was quite difficult. It's worth trying really hard on the assignments and doing all the quizzes to make sure you get a mark you're happy with. Assignment and exam marking is very black and white: if a question says to write a proof in full detail, you will lose marks if a single step is missing in a 2 page long proof, so err on the side of verbosity. Some quizzes have trick questions too. On the other hand, in 2020, there were no assignments (only exams and quizzes), and the exams were on the easier side. So your experience may vary.
 
Note that if you get the necessary permission codes to complete [[COMP1130]] and [[COMP2620]] before you take 1600, the first 4 weeks will be almost entirely revision for you - so enjoy the time off!


[[Category:1000-level courses]]
[[Category:1000-level courses]]
[[Category:Introductory courses]]
[[Category:Introductory courses]]

Latest revision as of 13:50, 16 June 2022


Runs Semester 2
Lecturers Dirk Pattinson, Victor Rivera
Webpage https://comp.anu.edu.au/courses/comp1600/

COMP1600 is a first year second semester course which serves as an introduction to theoretical computer science. It's unlikely you will have seen many of the concepts taught before even if you have lots of programming experience. It has a similar structure to COMP1100: weekly lectures and tutorials, 3 assignments, a mid-semester exam and a final exam. It also has weekly quizzes worth 1% each with unlimited retries - make sure to set a calendar reminder to do them because they're very easy to forget!

There is no programming in this course. Instead, there's lots of maths proofs. You do a few maths proofs about Haskell programs (hence the COMP1100 prerequisite) but you never write code yourself during the course.

For the first 3 weeks you will learn about formal Boolean logic and how to prove logical statements with natural deduction. Then you'll move on to program proofs with structural induction and Hoare logic for 3 weeks. Then you'll learn about automata, Turing machines, grammars, regular expressions, and formal languages for 4 weeks. Finally, you'll learn about decidability/computability and computational complexity.

Many people without much of a background in maths find the course quite difficult. If you don't have much background, make sure to learn all the notation early on and try doing the quizzes and/or assignments in a study group.

David Quarel has created a series of explanatory videos that cover the entire course content, and several past exams. Many students find these videos easier to understand than the official lectures - so we highly recommend watching these in addition to the official lectures if you're getting stuck!

In 2021, the final exam was quite difficult. It's worth trying really hard on the assignments and doing all the quizzes to make sure you get a mark you're happy with. Assignment and exam marking is very black and white: if a question says to write a proof in full detail, you will lose marks if a single step is missing in a 2 page long proof, so err on the side of verbosity. Some quizzes have trick questions too. On the other hand, in 2020, there were no assignments (only exams and quizzes), and the exams were on the easier side. So your experience may vary.

Note that if you get the necessary permission codes to complete COMP1130 and COMP2620 before you take 1600, the first 4 weeks will be almost entirely revision for you - so enjoy the time off!