Majoring in Computer Science
Computer science (COSC) can be a major subject for either the Bachelor of Science degree (BSc) or the Bachelor of Arts degree (BA).
Roughly speaking, you get a Bachelor's degree at Otago for earning 360 credit points of which about half come from papers in your major subject and the remainder come from other subjects that have relevance for your chosen degree. Most papers count 18 points, so a Bachelor's degree will usually include 20 papers.
To major in computer science, the following papers must form part of your degree:
COMP160 + COMP101 + ENGL127 + one of MATH 151, 160, 170, COMO 101, STAT 110, 115, BSNS 112, FINC 102, or an approved alternative.
There are five 100-level COMP papers. Three of these are offered by the Department of Computer Science: COMP150, COMP160, and COMP112.
COMP150 is an introduction to the basics of programming using the Python programming language, with an emphasis on practical topics. We recommend this paper if you want to understand what programming is all about but don't want to jump all the way into a COSC major, or if you are a COSC major who just wants to know more about Python, or if you intend to do COMP160 but would like to be well prepared for it.
COMP160 is the key paper for COSC majors, and provides an introduction to object-oriented programming in Java. We carry on with Java programming in COSC241, so you need to do COMP160 before going on with 200-level COSC papers. We do not assume any particular background except for basic computer literacy (ability to send e-mail, do word-processing, save files and then find them again the next day). However, if you prefer to be well prepared, you may wish to do COMP150 first.
COMP112 is an introduction to web technologies including HTML, CSS, and digital media. We recommend this fun paper if you want practice in creating web pages and using Photoshop and Flash. It's fair to say that COMP112 is our most popular paper, taken by many students who are not intending to go further in computer science.
The remaining COMP papers are taught by the Department of Information Science. Please see:
- COMP101 - Foundations of Information Systems
- COMP111 - Information and Communications Technology
- COMP210 - Information Assurance
COSC241 + COSC242 + COSC243 + COSC244
All COSC majors must do:
- COSC241 Programming and Problem Solving - and
- COSC242 Algorithms and Data Structures - as well as
- COSC243 Computer Architecture and Operating Systems - and
- COSC244 Data-communications, Networks, Internet.
The programming backbone of a COSC major is provided by the sequence COMP160 then COSC241 then COSC242.
Each is a prerequisite for the next, and COSC242 is a prerequisite for all 300-level COSC papers.
COSC papers typically have two 1 hour lectures per week and a variety of tutorials and labs.
The department also offers COSC212, which explores a variety of tools and concepts that will be useful for website development. COSC212 has a programming prerequisite, namely COMP160, although COSC241 would be even better.
COSC326 + at least three of COSC301, 341, 342, 343, 344, 345, 349, and 360.
The major subject requirement talks about only 12 of the 20 papers you need for your degree. The remaining papers may be chosen from other subjects or from other papers in Computer Science. We recommend the Python paper COMP150, the introduction to designing and building web pages COMP112, and the advanced paper on building professional websites, COSC212.
For academically able students who wish to specialise in one area of Computer Science, it may be possible to include a 400-level paper in their third year.
All COSC majors must do COSC326 Effective Programming, which is offered in both semesters, and in Summer School.
Also, COSC majors must do at least three of:
- COSC341 Theory of Computing
- COSC342 Computer Graphics
- COSC343 Artificial Intelligence
- COSC301 Network Management (until 2016 this paper was called TELE301)
- COSC344 Databases Theory and Applications
- COSC349 Cloud Computing Architecture
- COSC360 Computer Game Design
- COSC345 Software Engineering
For all of the above (except for COSC301) COSC242 is a prerequisite. For COSC341 and COSC342, MATH160 is also a prerequisite.
Of these papers, COSC341 is required for Honours and should be considered by anyone wishing to do postgraduate study, while COSC344, 345, and 349 are particularly relevant if you plan to enter employment as a programmer immediately after completing third year, without undertaking postgraduate study.