The course is designed for students who wish to study computing in depth. Computer science is the theory and practice of applying computers and software to problem solving. Its practical applications span all disciplines including science, engineering, business and commerce, creative and performing arts and the humanities. You will learn how to think like a computer scientist about processes and their descriptions. This will enable you to design algorithms (instructions for computers) and data structures (ways to store information). You will also acquire practical programming skills to implement these in efficient software that solves real-world problems. The course provides strong foundations in the theory of computation and its connection to mathematics.
This flexible course offers you a choice of two specialisations, either advanced computer science studies including graphics, intelligent systems and networks, or a specialisation in data science to handle the massive datasets of the information age. Your studies will conclude with a significant project in the area of your specialisation.
If you are an eligible student at the Clayton campus, you may apply for the industry-based learning (IBL) placement program, in which you undertake a 22-week, full-time industry placement as part of the curriculum. Through the IBL placement program you will apply the computer science skills and knowledge you have gained to real world problems in a professional organisation.
The Bachelor of Computer Science course including both its specialisations, can be taken in combination with the following courses:
- Bachelor of Commerce
- Bachelor of Commerce Specialist
- Bachelor of Education (Honours)
- Bachelor of Engineering (Honours)
- Bachelor of Science
This will lead to the award of two degrees, your chosen specialist computer science degree (Bachelor of Computer Science or Bachelor of Computer Science in Data Science) and the degree awarded by the partner course.
Note the double degree courses with:
- the Bachelor of Education (Honours) is available only in the advanced computer science specialisation and only in the primary education specialisation and the secondary education specialisation
- the Bachelor of Engineering (Honours) is only available with the advanced computer science specialisation and the electrical and computer systems engineering specialisation and software engineering specialisations.
The requirements for the award of each of the degrees are generally the same whether the award is earned through a single or double degree course - in the case of the double degree courses with education and engineering, this is achieved by cross crediting of some study. Students should refer to the course entry for the partner course in their double degree, for the requirements of the other degree.
Advanced computer science
Availability: Clayton, Malaysia
In this specialisation you will learn advanced aspects of computer science including a detailed study of programming paradigms, especially object-oriented programming and parallel computing. This will be enhanced with experience in constructing, manipulating and analysing the performance of advanced algorithms and data-structures. As part of this specialisation you choose an elective unit from a broad range of level 3 offerings within the faculty of IT, and undertake a full-year computer science project utilising the skills and knowledge acquired during the course.
Data science addresses aspects of how to capture, manage and use the huge volumes of data generated by businesses, organisations and science in the information age. This specialisation spans technical areas such as programming and databases, through modelling, visualisation and analysis, as well as legal and ethical issues. You will select two additional units from a set of level 3 data science offerings, and undertake a full-year data science project utilising the skills and knowledge acquired during the course.
These course outcomes are aligned with the Australian Qualifications Framework level 8 and Monash Graduate AttributesAustralian Qualifications Framework level 8 and Monash Graduate Attributes (http://www.monash.edu.au/pubs/handbooks/alignmentofoutcomes.html).
Upon successful completion of the Bachelor of Computer Science it is expected that you will be able to:
- demonstrate knowledge of the role of computer science and computational methods, and recognise the importance of theoretical underpinning for practical work
- demonstrate understanding of ethical and legal issues in your specialisation and its historical, contemporary and likely future scientific, industrial and social context
- analyse problems, design algorithms to solve them, and program efficient software solutions
- apply problem solving strategies to develop efficient solutions in your area of specialisation; in particular:
- computer science graduates will be able to design and implement substantial pieces of software using a range of programming paradigms, advanced data structures and algorithms
- data science graduates will be able to design, implement and apply methods for capturing, managing and analysing data
- communicate and coordinate proficiently by: listening, speaking, reading and writing English and utilising diagrams, graphics and interactive visualisations for professional practice; working as an effective member or leader of teams; and using basic tools and practices of formal project management
- manage your time and processes effectively by prioritising competing demands to achieve personal and team goals, with regular review of personal performance as a primary means of managing continuing professional development; behave in an ethical and professional manner; and be able to adapt readily to changing technologies.
The course develops through the themes of computer science foundation study, professional skills study, specialist discipline knowledge, problem solving and analytic skills study, which come together in applied practice.
Part A. Computer science foundation study
This study will develop your understanding of the role and theoretical basis of computer science and computational methods.
Part B. Professional skills study
This study develops professional skills by providing an understanding and appreciation of the ethical and professional guidelines applicable to computer science, developing the ability to work as an effective team member, developing the ability to communicate proficiently and appropriately for professional practice, and developing formal project management skills.
Part C. Specialist discipline knowledge
This study will develop your in-depth knowledge of the specific computer science methods of your specialised field within computer science.
Part D. Problem solving and analytical skills study
This study will develop your ability to apply appropriate methodologies in computer science and develop efficient computational solutions. It develops strong problem solving skills and the ability to apply analytical thinking.
Part E. Applied practice
The above knowledge and skills are integrated and consolidated in applied practice as demonstrated in a computer or data science project, and in some cases in an industry-based learning placement.
Part F. Free elective study
These elective units will enable you to broaden and deepen your knowledge of computer science, or to select units from across the University in which you are eligible to enrol.
For students in double degree courses, some units required for the partner degree are credited as electives towards this degree.
This course comprises 144 points, of which 96 points must be from computer science study and 48 points are used to provide additional depth or breadth through elective study.
The course develops through theme studies in: Part A. Foundational computer science study (42 points), Part B. Professional skills study (6 points), Part C. Specialist discipline knowledge and Part D. Problem solving and analytical skills (36 points), Part E. Applied practice (12 points), and part F. Free elective study (48 points).
Elective units may be at any level, however, no more than ten units (60 points) can be credited to the computer science course at level 1 and a minimum of 36 points must be completed in computer science at level 3.
The course progression mapcourse progression map (http://www.monash.edu.au/pubs/2017handbooks/maps/map-c2001.pdf) will assist you to plan to meet the course requirements, and guidance on unit enrolment for each semester of study.
Units are 6 credit points unless otherwise stated.
Part A. Foundational computer science study (42 points)
All students complete:
- FIT1045 Algorithms and programming fundamentals in python
- FIT1047 Introduction to computer systems, networks and security
- FIT1008 Introduction to computer science
- FIT2004 Algorithms and data structures *
- FIT2014 Theory of computation
- MAT1830 Discrete mathematics for computer science *
- MAT1841 Continuous mathematics for computer science ** or MTH1030 Techniques for modelling ***
Mathematics requirements for secondary education double-degree students
The four unit sequence comprises:
- MAT1830 Discrete mathematics for computer science
- MTH1030 Techniques for modelling
- MTH2010 Multivariable calculus
- MTH3051 Introduction to computational mathematics.
Students who do not have Level 3 and 4 VCE specialist mathematics (a study score of 30), but have at least 25 in VCE mathematical methods 3 and 4, will need to complete MTH1020 (Analysis of change) prior to completing MTH1030. To create the additional space in the course for this unit, they will not complete a computer science elective unit at level three.
Part B. Professional skills study (6 points)
Part C. Specialist discipline knowledge and Part D. Problem solving and analytical skills (36 points)
Students complete one of the following specialisations:
Part E. Applied practice (12 points)
Students complete a full-year project (12 points) relevant to their specialisation, or the industry-based learning units (18 points):
- FIT3161 Computer science project 1 and FIT3162 Computer science project 2
- FIT3163 Data science project 1 and FIT3164 Data science project 2
- FIT3045 Industry-based learning* (18 points)
Part F. Free elective study (48 points)
Elective units may be chosen from the faculty or across the University so long as you have the prerequisites and there are no restrictions on enrolment in the units, including choosing to complete a major or minora from other courses. The units may be at any level, however, no more than 10 units (60 points) at level 1 may be credited to the Bachelor of Computer Science and a minimum 36 points must be at level 3.
Free electives can be identified using the browse unitsbrowse units (http://www.monash.edu.au/pubs/handbooks/units/search) tool and indexes of unitsindexes of units (http://www.monash.edu.au/pubs/handbooks/units/) in the current edition of the Handbook. MajorsMajors (http://www.monash.edu.au/pubs/handbooks/aos/index-bydomain_type-major.html) and minorsminors (http://www.monash.edu.au/pubs/handbooks/aos/index-bydomain_type-minor.html) can also be identified using the Handbook indexes. The level of the unit is indicated by the first number in the unit code; undergraduate units are those that commence with the numbers 1-3. You may need permission from the owning faculty to enrol in some units taught by other faculties.
For students in a double degree course, some units required for the partner degree are credited as electives towards this degree.
Progression to further studies
Students successfully completing the Bachelor of Computer Science may proceed to a one year honours program leading to C3702 Bachelor of Computer Science (Honours). To be eligible to apply for entry into the Bachelor of Computer Science (Honours), students must obtain a distinction grade average (70 per cent) or above in 36 points of studies in relevant units at level three, including all computer science level 3 units completed.