Breadcrumbs

Map NZ Map World

BSc - Computer Science as a major

If you're intrigued by the natural world around you, or enjoy understanding how things work, Waikato's Bachelor of Science (BSc) is what you're looking for. Putting into practice what you learn in your lectures is a major part of this degree. You will gain hands-on experience with some of the most up-to-date and high-tech computing facilities and laboratory equipment.

Computer Science is rapidly changing the world we live in. Studying Computer Science at the University of Waikato, you'll learn about software systems and how people and computers interact. You’ll also learn how to create new software, and ensure it's easy for people to use.

Key information

Years: 3.0
Points: 360
Study Locations: Hamilton; Tauranga
Start Dates: Semester A (February) and Semester B (July)
Fees (Domestic): $6,786 per year
See if you're eligible for fees-free study in your first year
Fees (International): $29,470 - $29,680 per year
Entry Requirements: Undergraduate International
Faculty/s:
*Tuition fees shown are indicative only and may change. There are additional fees and charges related to enrolment please see the Table of Fees and Charges for more information. You will be sent an enrolment agreement which will confirm your fees.

Apply now

Career opportunities

  • Web Architect
  • Business Analyst
  • Software Developer
  • Network Architect
  • Computer Animator
  • Mobile App Master
  • Data Miner
  • Usability Architect

Computer Science involves the study of all aspects of computers: their technology, algorithms and programming, underlying theory, and their application.

Computer Science is available as a major for the Bachelor of Computing and Mathematical Sciences with Honours, the Bachelor of Science, and the Bachelor of Science (Technology). Computer Science may also be included as a second major or minor in other undergraduate degrees, subject to the approval of the Faculty in which the student is enrolled.

To complete Computer Science as a single major for the BCMS(Hons) or the BSc, students must gain 135 points from papers listed for Computer Science, including 105 points above 100 level, and 45 points above 200 level. Students must complete COMPX101, COMPX102, COMPX201, COMPX202, COMPX203, COMPX204, COMPX361 and at least 15 points from List A. Students in the BCMS(Hons) will also need to take at least 60 points in the subject of Computer Science at 500 level, including COMP520.

To complete Computer Science as part of a double major for the BCMS(Hons), BSc or other undergraduate degree, students must gain 120 points from papers listed for Computer Science, including 90 points above 100 level, and 30 points above 200 level. Students must complete COMPX101, COMPX102, COMPX201, COMPX202, COMPX203, COMPX204, COMPX361 and 15 points from List A. Students in the BCMS(Hons) will also need to take at least 60 points in the subject of their first major at 500 level including COMP520 if Computer Science is the first major.

To complete a minor in Computer Science, students must complete 60 points from the papers listed for the Computer Science major, including at least 30 points above 100 level, and including COMPX201.

100 level

Code Paper Title Occurrence / Location
COMPX101Introduction to Computer Science18A (Hamilton), 18A (Online) & 18B (Hamilton)
This paper introduces computer programming in C# - the exciting challenge of creating software and designing artificial worlds within the computer. It also covers concepts such as the internals of the home computer, the history and future of computers, cyber security, computer gaming, databases, mobile computing and current researc...
COMPX102Object-Oriented Programming18B (Hamilton), 18C (Zhejiang University City College, Hangzhou China) & 18S (Hamilton)
This paper continues from COMPX101, expanding upon data organisation and algorithms, and introducing code contracts, computer architecture, Boolean algebra, assembly language, program analysis and object-oriented programming.
COMPX151The Computing Experience18A (Hamilton), 18B (Hamilton) & 18S (Hamilton)
This laboratory-based paper introduces a range of computer tools for application in the sciences, the arts and other disciplines. Students tailor the paper to their own needs by selecting sets of exercises to extend their prior knowledge.
COMPX161Computing Media18B (Hamilton)
In this paper students will create multimedia web content using appropriate software packages. Web design concepts will be introduced for the effective use of text, images and sounds. Students will be introduced to relevant computing concepts and provided with software tutorials and related exercises.
CSMAX170Foundations in Computing and Mathematical Sciences18A (Hamilton) & 18B (Hamilton)
The objective of this paper is to provide students with the academic foundations for computing and mathematical sciences. The paper will cover the following areas: - Effective academic reasoning and communication - Information literacy and research skills - Academic integrity - Techniques and tools in the computing and mathematica...
DSIGN125Introduction to Communication Design Production18A (Hamilton)
This paper enables students to perform basic computing operations and to operate software packages for the manipulation of visual images and text for use in print and screen-based applications. Students will be introduced to basic computing concepts and provided with software tutorials and related exercises.
DSIGN151A History of Visual Communication18B (Hamilton)
Students consider the role of visual communication design in society and culture, from the evolution of writing to the revolutions of twentieth century modernism, through the study of visual images and critical theory.
ENGEN103Engineering Computing18A (Hamilton) & 18B (Hamilton)
This paper introduces computer programming in languages such as C# and Python. It provides the basis for the programming skills required in more advanced papers within the School of Engineering.
MATHS135Discrete Structures18B (Hamilton)
An introduction to a number of the structures of discrete mathematics with wide applicability in areas such as: computer logic, analysis of algorithms, telecommunications, networks and public key cryptography. In addition it introduces a number of fundamental concepts which are useful in Statistics, Computer Science and further stu...

200 level

Code Paper Title Occurrence / Location
COMP221Introduction to 3D Modelling and Animation18A (Hamilton), 18B (Hamilton) & 18S (Hamilton)
This paper introduces 3D modelling concepts through self-paced laboratory exercises. Students will use polygons, nurbs and texturing to develop simple scenes. Basic key-framing, path animation and the use of dynamics are explored, along with the effects of lighting and cameras for rendering.
COMPX201Data Structures and Algorithms18A (Hamilton)
This paper introduces programming with data structures using Java. Students learn how to program in Java and become familiar with the design, analysis, and application of commonlyused data structures, including stacks, queues, lists, trees, and sets.
COMPX202Mobile Computing and Software Architecture18B (Hamilton)
This paper covers object-oriented programming, primarily as seen in Java, but also touching on alternative approaches. It introduces software development methodologies and the use of support tools, particularly repositories and a testing framework. Project work starts with GUI develoment in Java and works through to the constructio...
COMPX203Computer Systems18A (Hamilton) & 18B (Hamilton)
This paper provides an overview of the operation of computer systems. The central theme is the way in which the hardware and software co-operate to allow the execution of programs written in a high-level language.
COMPX204Practical Networking and Cyber Security18B (Hamilton)
This paper provides an overview of the technologies and protocols involved in computer communications and cyber security. Practical work includes network programming.
COMPX221Programming for Creative Industries18A (Hamilton)
A fundamental grounding in object-oriented programming that uses Processing software to creative visual outputs for creative industries.
COMPX222Internet Applications18B (Hamilton)
This paper provides a broad overview of the principles and technologies used in Internet Applications, with practical experience of client-side and server-side programming
COMPX223Database Practice and Experience18A (Hamilton)
This paper approaches the subject of databases from a practical perspective - how do I create a database and how do I retrieve/update data. Both aspects are heavily addressed in this paper. Database creation and querying, using SQL, will be introduced in lectures as you will master practical skills associated with a commercial Data...
COMPX241Software Engineering Development18A (Hamilton)
Students will learn how to program in Java and design, analyse, and apply commonly used data structures. Broader software engineering practices will be developed through a group project.
COMPX242Software Engineering Process18B (Hamilton)
This paper covers object-oriented programming, primarily as seen in Java, but also touching on alternative approaches. It introduces software development methodologies and the use of support tools, particularly repositories and a testing framework. Project work starts with GUI develoment in Java and works through to the constructio...
COMPX251Information Discovery18A (Hamilton), 18A (Tauranga), 18B (Hamilton) & 18S (Hamilton)
This paper enables students to widen their experience of computer software using an intensive laboratory programme. Students select from a variety of themes, including video editing, website design, digital library development, computer game construction, animation and 3D modelling.
COMPX252Interactive Computing18A (Hamilton), 18B (Hamilton) & 18S (Hamilton)
This paper provides an opportunity to explore several software applications in depth. It is based on an intensive laboratory programme, where students tailor their choices to their own needs and interests by selecting two themes from a set of modules.
COMPX290Directed StudyThis paper will not be taught in 2018.
This paper will not be taught in 2018.
CSMAX270Cultural Perspectives for Computing and Mathematical Sciences18B (Hamilton)
The paper provides students with an understanding of scientific and culture-specific perspectives on computing and mathematical science issues and the ability to apply these in diverse contexts.
DSIGN252Cultural Perspectives for Design18A (Hamilton) & 18B (Hamilton)
The paper provides students with an understanding of culture-specific perspectives on design issues and the ability to apply these in diverse contexts.
ENGEE233Digital Systems18A (Hamilton)
This paper provides students with an introduction to digital electronics and microprocessors. It covers combinatorial and sequential logic, hardware description languages, and processor architecture and construction.

300 level

Code Paper Title Occurrence / Location
COMP301Operating Systems18B (Hamilton)
This paper focuses on operating systems design and implementation. Topics include operating system architecture, process management, inter-process communication, memory management, and device drivers. Practical work will include programming in an operating system.
COMP311Computer Systems Architecture18B (Hamilton)
This paper considers interaction between computer hardware and software; instruction sets; memory and disk hierarchy, caching and performance; traps and exceptions; performance of compiled code.
COMP312Computer Networks18A (Hamilton)
A study of computer networks with a focus on Internet protocols. The aim of this paper is to develop a practical understanding of the operation and programming of core internet protocols, application protocols, and transmission technologies.
COMP313Topics in Programming Languages18A (Hamilton)
The design, implementation and use of a selection of imperative, functional, object-oriented and/or logic programming languages. Assignments will involve challenging programming problems.
COMP314Software Engineering Project18B (Hamilton)
Students work in small groups to build a medium sized software project. They develop requirements and specification, design the system structure and user interface, carry out documentation, implementation and maintenance.
COMP315Information Systems Development18B (Hamilton) & 18B (Tauranga)
Students address a real world problem by performing systems planning, analysis, design and implementation. Working in groups, they submit reports, conduct reviews, develop prototypes, and make formal presentations at appropriate milestones.
COMP316Artificial Intelligence Techniques and Applications18A (Hamilton)
This paper gives an overview of artificial intelligence, including intelligent search, logic-based and probabilistic knowledge representation and reasoning, and machine learning.
COMP317Design and Analysis of Algorithms18A (Hamilton)
A study of classical and recently developed algorithms for solving a diverse range of problems using computers. Issues of performance, scalability, applicability, adaptation and design are also discussed.
COMP321Practical Data Mining18B (Hamilton) & 18B (Tauranga)
This paper is a practical introduction to data mining. It covers important aspects of the data mining process such as feature selection, model building, parameter tuning and final evaluation.
COMP324Interaction DesignThis paper will not be taught in 2018.
This paper will not be taught in 2018.
COMP325Human-Computer Interaction18B (Hamilton) & 18B (Tauranga)
An introduction to the theory and practice of human-computer interaction, including the interface development process in the system life-cycle, software tools and architectures to support modern interface and software usability.
COMP329Database Systems18A (Hamilton)
This paper will focus on practical aspects of designing, creating and maintaining a database system.
COMP333Web Applications Development18A (Hamilton) & 18A (Tauranga)
A paper on the design, development and programming of web document applications.
COMP336Graphics and Computer Games18B (Hamilton)
This paper introduces interactive computer graphics, 3D modelling, real-time rendering and animation, as applied to computer games.
COMP340Reasoning about ProgramsThis paper will not be taught in 2018.
This paper will not be taught in 2018.
COMP371Computer Science Placement 118C (Hamilton)
This paper requires a period of work experience in an appropriate and approved industry or applied field. The paper is assessed on the basis of the work done.
COMP372Computer Science Placement 218C (Hamilton)
This paper requires a period of work experience in an appropriate and approved industry or applied field. The paper is assessed on the basis of the work done.
COMP373Computer Science Placement 318C (Hamilton)
This paper requires a period of work experience in an appropriate and approved industry or applied field. The paper is assessed on the basis of the work done.
COMP390Directed Study18A (Hamilton), 18B (Hamilton) & 18C (Hamilton)
A directed study involving the design, implementation and testing of the solution to a hardware and/or software engineering problem and production of a formal report.
COMPX304Advanced Networking and Cyber SecurityThis paper will not be taught in 2018.
This paper will not be taught in 2018.
COMPX305Finding Patterns in DataThis paper will not be taught in 2018.
This paper will not be taught in 2018.
COMPX324User Experience DesignThis paper will not be taught in 2018.
This paper will not be taught in 2018.
COMPX361Logic and Computation18B (Hamilton)
The syllabus includes: further development of predicate logic with application to program verification; mathematical induction including structural induction; finite state automata and regular languages; Kleene's Theorem; Turing machines, the Church-Turing thesis, universal Turing machines and the Halting problem; formal grammars a...
COMPX374Software Engineering ProjectThis paper will not be taught in 2018.
This paper will not be taught in 2018.
COMPX375Information Systems Industry ProjectThis paper will not be taught in 2018.
This paper will not be taught in 2018.
DSIGN350Intern Project18A (Hamilton)
This paper will induct the design student into the professional environment where the student applies two and three dimensional design skills, research methodology and production skills to allocated projects. The relationship between the student and the client is monitored and guided by a tutor who also supervises and guides the st...

400 level

Code Paper Title Occurrence / Location
COMP401Topics in Operating Systems18A (Hamilton)
One or more topics in operating systems implementation, at an advanced level.
COMP402Cryptography18A (Hamilton)
An introduction to cryptographic methods.
COMP413Topics in Computer Networks18B (Hamilton)
One or more special topics in computer networks, at an advanced level.
COMP414Carrier and ISP Networks18A (Hamilton) & 18B (Hamilton)
This paper studies large scale networks as used for public internet infrastructure. It covers the technologies used to implement such networks in a practical manner.
COMP418Cyber Security18A (Hamilton)
This paper introduces the key topics in the important field of cyber security. It will cover a range of topics relating to defensive security (e.g. malware analysis, social engineering, intrusion detection and prevention), offensive security (e.g. pen testing, Web app security) and preventative security (e.g. cryptography, applied ...
COMP421Machine Learning Algorithms18A (Hamilton)
This paper covers machine learning algorithms such as the ones implemented in the WEKA machine learning workbench at a more advanced level, including techniques that deliver state-of-the-art predictive performance.
COMP422Relational Data MiningThis paper will not be taught in 2018.
This paper will not be taught in 2018.
COMP423Data Stream Mining18A (Hamilton)
Data streams are everywhere, from F1 racing over electricity networks to news feeds. Data stream mining relies on and develops new incremental algorithms that process streams under strict resource limitations.
COMP424Topics in Interaction DesignThis paper will not be taught in 2018.
This paper will not be taught in 2018.
COMP426Engineering Interactive Systems18B (Hamilton)
This paper introduces the topic of engineering methods for interactive systems. It provides both the background theory and practical methods for modelling and testing interactive systems.
COMP427Cloud Computing Technologies and Security18B (Hamilton)
This paper explores cloud computing's underlying enabling technologies (e.g. virtualisation) and business models. It also covers key research topics in cloud computing security, trust and data privacy.
COMP432Information Visualisation18B (Hamilton)
This paper aims to provide an awareness of the potential offered by information visualisation techniques, a familiarity with the underlying concepts, and an understanding and ability to effectively design and apply information visualisations in a given context.
COMP435Image ProcessingThis paper will not be taught in 2018.
This paper will not be taught in 2018.
COMP436Advanced Graphics and Computer Games18A (Hamilton)
A lecture and laboratory-based paper on 3D graphics as applied in computer games. Topics will centre around shade programming and algorithms implemented in shaders.
COMP437User Interfaces for Information RetrievalThis paper will not be taught in 2018.
This paper will not be taught in 2018.
COMP438Topics in Human-Computer InteractionThis paper will not be taught in 2018.
This paper will not be taught in 2018.
COMP439Usability Engineering18A (Hamilton)
This paper covers the design and evaluation of interactive computer systems with a focus on users and usability. Topics covered include: designing and performing user studies, ethnography, automated usability evaluation and ethical issues involved in studying human-computer interaction.
COMP440Software Engineering Methodologies18B (Hamilton)
This paper focuses on mondern software design and development methodologies, with emphasis on the 'lightweight' methods. The paper will also examine safety-critical aspects of software engineering, in particular how safety analysis fits into the software lifecycle.
COMP442Web Search: Technical and Social Issues18A (Hamilton)
This paper covers the operation of web search engines, the development of web spam and techniques for combating it, and social issues raised by centralised search engines.
COMP443Information Management18B (Hamilton)
One or more special topics in knowledge and information management, at an advanced level.
COMP448Developing Mobile Applications18A (Hamilton) & 18B (Hamilton)
This paper covers practical design and implementation of interactive applications for mobile devices such as smartphones and tablet computers.
COMP450Location Based Systems as Context-aware Systems18A (Hamilton)
This paper will introduce techniques of location-based and context-aware systems (such as GPS and personalisation). Participants will develop a location-based system and evaluate its qualities as an information system. The lecturer has extensive experience with research in location-based systems - course participants will get hands...
COMP452Model Checking18A (Hamilton)
This paper shows how reactive systems can be modelled and analysed using finite-state machines and temporal logic, and how model checking tools can be used to verify crucial properties of safety-critical systems. It also provides an introduction into the algorithms and data structures used to model check very large finite-state sys...
COMP453Extremely Parallel Programming18A (Hamilton) & 18B (Hamilton)
This paper covers advanced parallel programming for large-scale parallelism. A variety of programming techniques will be covered, with application to cluster computers, GPU computing, many-core computing and cloud computing.
COMP454Specification Languages and Models18B (Hamilton)
This paper deals with various aspects of modelling systems using advanced good practice methods from the software engineering field. It will introduce at least one of the main software modelling languages, Z, including its semantics, logic and associated tools.
COMP455Bioinformatics18B (Hamilton)
An introduction to bioinformatics, open to students majoring in computer science or biology. It includes an overview of molecular biology, genomics, script language programming, algorithms for biological data, an introduction to machine learning and data mining, and relevant statistical methods.
COMP456Metaheuristic Algorithms18A (Hamilton)
This paper explores common metaheuristic algorithms such as simulated annealing and genetic algorithms, and their application in areas such as finance, engineering and science.
COMP460Turing Topics in Computer Science18C (Hamilton)
One or more special topics in computer science, at an advanced level.
COMP477Report of an Investigation18A (Hamilton) & 18B (Hamilton)
A directed investigation and report on an approved project or study topic.
ENEL417Mechatronics18A (Hamilton)
This paper covers embedded micro-programming, feedback control, interface to electro-mechanical systems involving gears, motors, belt drives, actuators, and sensors: the enabling technologies of robotics. A series of projects require students to integrate software, control, mechanical and electromotive skills to achieve practical g...

CMS International Exchange Scholarship

For students who have completed at least one year of study in the Faculty of Computing & Mathematical Sciences (FCMS), applied for a University of Waikato exchange programme, and who are currently enrolled full-time in FCMS.

Closing Date: 2018-03-31 23:59:00

Design Fees Scholarship

For school leaver students intending to enrol full-time in the first year of an undergraduate degree, with a major in either Communication Design, Interface Design or Media Design, within the Faculty of Computing and Mathematical Sciences at the University of Waikato. The Scholarship will have a value of up to $5,000.

Closing Date: 2017-10-13 17:00:00

Computer Science Undergraduate Scholarship

For students who are currently in Year 12 or Year 13 and who are studying at a New Zealand High School. Students should be intending to enrol in a BCMS(Hons), BSc, BSc(Tech), BE(Hons) or BDes degree, in one of the computing streams, at the University of Waikato. Students will sit a Scholarship exam. The exam will be held on 20 and 21 October 2017.

Closing Date: 2017-09-22 17:00:00

FCMS Summer Project Scholarships

This is by nomination only. Nominees must be high achieving undergraduate students currently enrolled part- or full-time in the Faculty of Computing & Mathematical Sciences. It supports a ten-week period of full-time project work during the summer break. The Scholarships will have a value of $5,000. Interested students should contact FCMS for further information.

Closing Date: 2015-10-16 23:59:00

Sir William Gallagher Cyber Security Scholarship

For domestic students who have been accepted into, and will be enrolling full-time in, a Master of Cyber Security (MCS). The recipient of this Scholarship must enrol in either COMP592, COMP593 or COMP594 and undertake an industry-based research project with Gallagher. The Scholarship has a value of $25,000 for a 180-point MCS or $20,000 for a 120-point MCS.

Closing Date: 2017-07-17 23:59:00

Smartrak Software Development Scholarship

For students enrolled full time in the second to last year of study towards a BE(Hons) majoring in software engineering or a BCMS with a focus on software development or a BSc(Tech) majoring in computer science with an emphasis on software development. The scholarship will have a value of $4,000.

Closing Date: 2017-09-01 23:59:00

Subject links

Documents

Contacts

Faculty of Computing & Mathematical Sciences

Phone: 0800 924 528 ext: 4322 or +64 7 838 4322
Email: cms@waikato.ac.nz
Website: cms.waikato.ac.nz
Facebook: facebook.com/WaikatoFCMS