I'm really interested in taking some computer science courses for electives as part of my double degree, B science(adv math)/B arts, but I couldn't find any computer science undergrad degrees on the usyd website. Are these courses available?
I've heard Informatics (Adv) is the course to take if you're only taking one or two CS electives. Apparently covers Python well and there's a semester long project as part of the course.Oh yeah, definitely!
On this page you'll a list of computer science units.
As you can see, first year units are (excluding the special projects):
- ELEC1601 Introduction to Computer Systems
- INFO1003 Foundations of Information Technology
- INFO1103 Introduction to Programming
- INFO1903 Informatics (Advanced) [note that there is no "mainstream/normal" counterpart for this unit]
- INFO1105 Data Structures
- INFO1905 Data Structures (Advanced)
I personally took INFO1103 (semester 1) and INFO1105 (semester 2), which solely focus on Java.
On top of that, there's this one unit of study that not many people are aware of:
- COSC1003 Computational Science (and it's advanced counterpart)
COSC1003 (semester 2) is a fun and (in my opinion) easy unit to do which involves applying programming to solve mathematical and scientific problems. The lecturer is great, the topics are quite interesting and eclectic. The reason why not many people are aware of it is because it's run by the physics faculty, so it's listed under the physics electives. Also, the language here is MATLAB.
INFO1903 covers a wide range of languages, so that's the appeal. However it doesn't go into the languages into too much depth, I presume (since I haven't taken the unit).I've heard Informatics (Adv) is the course to take if you're only taking one or two CS electives. Apparently covers Python well and there's a semester long project as part of the course.
Well in that case it would probably be better to take Introduction to Programming and Data Structures instead.INFO1903 covers a wide range of languages, so that's the appeal. However it doesn't go into the languages into too much depth, I presume (since I haven't taken the unit).
INFO1103 and INFO1105 on the other hand covers only Java, but goes into great depth (and INFO1105 uses Java as a platform to understand the more abstract concepts of data structures). [Edit: to avoid confusing anyone, INFO1105 requires you to do either INFO1103 or INFO1903; as long as you can program and understand inheritance, INFO1105 is accessible for you.]
It really depends on your tastes, I guess.