Description
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, 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.
Double degrees
The Bachelor of Computer Science course can be taken in combination with the following courses:
- Bachelor of Commerce
- Bachelor of Engineering (Honours)
- Bachelor of Laws (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 course with 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 with engineering, this is achieved by cross crediting of some study. You should refer to the course entry for the partner course in your double degree, for the requirements of the other degree.
Specialisations
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
Availability: Clayton
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.
Outcomes
These course outcomes are aligned with the Australian Qualifications Framework level 7 and Monash Graduate AttributesAustralian Qualifications Framework level 7 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 chosen 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 students will be able to design and implement substantial pieces of software using a range of programming paradigms, advanced data structures and algorithms
- data science students 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 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.
Professional recognition
Graduates may be eligible for membership of the Australian Computer Society (ACS).
Structure
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.
If you are in a double degree course, some units required for the partner degree are credited as electives towards the computer science degree.
Requirements
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.
Note: If you are at the Malaysia campus you are required to have completed an industry placement in order to graduate. This can either be the Industry-based learning unit (Part C) or a zero credit point unit FIT3199 Industry work experience. This unit will provide a framework for all undergraduate information technology students at the Malaysia Campus to complete the compulsory industry experience as required by the Malaysian Qualifications Agency.
The course progression mapcourse progression map (http://www.monash.edu.au/pubs/2019handbooks/maps/map-c2001.pdf) provides 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)
You must 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 **
Part B. Professional skills study (6 points)
You must complete:
Part C. Specialist discipline knowledge and Part D. Problem solving and analytical skills (36 points)
You must complete one of the following specialisations:
Part E. Applied practice (12 points)
Clayton students complete a full-year project (12 points) relevant to their specialisation, or the industry-based learning unit (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)
Malaysia students complete a full-year project (12 points) relevant to their specialisation and the industry-based learning unit (18 points) or the industry work experience unit (0 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)
- FIT3199 Industry work experience** (0 points)
Part F. Free elective study (48 points)
Elective units may be chosen from the faculty or across the University as long as you have completed the prerequisites and there are no restrictions on enrolment in the units, including choosing to complete a major or minor 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.
If you are in a double degree course, some units required for the partner degree are credited as electives towards the computer science degree.
Progression to further studies
Successful completion of the Bachelor of Computer Science may provide a pathway to the one year honours course C3702 Bachelor of Computer Science (Honours). To be eligible to apply for entry into the Bachelor of Computer Science (Honours), you must obtain a distinction grade average (70 percent) or above in 24 points of studies in relevant units at level 3, including all computer science level 3 units completed.