Bachelor of Science in Computer Science
Department of Computer Science
- Curriculum
- Areas of Specialization
- Honours, Degree Curriculum, Basic and Specialized
- Certificate in Computing
- CS Minor
- IT Minor
General Office: | Sir Douglas Hazen Hall, Room 305 |
Mailing Address: | Department of Computer Science, University of New Brunswick, 100 Tucker Park Road, Saint John, N.B., Canada, E2L 4L5 |
Phone: | (506) 648-5970 |
Email: | cssjchair@unbsj.ca |
Website: | go.unb.ca/cs-saintjohn |
Faculty
Chair: Dr. Christopher Baker
- Baker, Christopher, BSc (Univ of Newcastle upon Tyne UK), PhD (Univ of Wales, UK), Prof & Chair - 2008
- Belacel, Nabil, Adjunct Prof (Joint Appt: Faculty of CS UNBF) - 2003
- Garey, Lawrence E., BSc (St FX), MA, PhD (Dal), Prof Emeritus - 2007
- Kaser, Owen, BCSS (Acad), MS, PhD (SUNY, Stony Brook), Assoc Prof - 1993
- Light, Janet, BEng (Madras), MEng (Bharathiar), PhD (Avinashilingam), Prof - 2002
- Lemire, Daniel, Adjunct Professor, (University of Quebec)- 2005
- Mahanti, Prabhat, BSc (Calc.), MSc, PhD (Indian Inst. of Technology), Prof - 2001
- Shaw, Ruth, BScDA, MScCS, PhD (UNB), Prof - 1986
- Tasse, Josee, BScCS (Montr), PhD (McG), Assoc Prof - 1997
General Information
The Department of Computer Science and Applied Statistics offers a four year undergraduate program accredited by the Canadian Information Processing Society (CIPS), leading to a Bachelor of Science in Computer Science (BScCS). Both honours and specializations are also offered along with the BScCS program. A set of core courses and some student selected courses (electives) comprise the requirements for the degree.
Our department also offers other related programs: Certificate programs in Computer Science and Data Analytics, as well as a CS Minor and an IT minor. A multi-disciplinary four year undergraduate program leading to a Bachelor of Information Sciences (BISc) is also available.
For general regulations on admission, please consult the appropriate section of the University calendar. Transfer into the BScCS from another UNB degree program is not permitted if the GPA for the most recent assessment period is below 2.0. For transfer from another university, a CGPA equivalent to 2.0 at UNB is required.
Regulations:
- The total curriculum consists of a minimum of 141 credit hours.
- A grade of C or better is required in all required core courses, all courses offered for specializations or honours, and all CS courses.
- It is recommended to take a minimum of 12ch of courses having a significant writing component. This requirement is mandatory for students contemplating a transfer into the Bachelor of Computer Science program at UNB Fredericton. Normally, courses with the prefix ENGL, HIST, or POLS satisfy this requirement. Other courses may also be acceptable. It is the responsibility of the student to ensure that a particular course has a significant writing component, by discussing with the instructor before taking the course. The student should also keep a course outline and at least one writing assignment, as a proof of the significant writing component
Curriculum
The basic degree curriculum consists of a set of core requirements plus elective courses. It is expected that students will take four (4) years of study at 5 term courses per term to complete the program. The specific requirements are listed below.
Computer Science Core Requirements:
CS 1073 Intro to Computer Programming I (in Java)
CS 1083 Intro to Computer Programming II (in Java)
CS 1303 Discrete Structures
CS 2043 Software Engineering I
CS 2253 Machine Level Programming
CS 2263 Systems Software Development
CS 2333 Computability and Formal Languages
CS 2383 Data Structures and Algorithms
CS 3403 Operating Systems
CS 3813 Computer Architecture and Organization
CS 3913 Algorithmics
CS 3983 Professional Practice
CS 4613 Programing Languages
CS 4983 Technical Report or CS 4993 (Honours Project)
(ECE 2214 and ECE 2215) Digital Logic Design and its Lab
or CS 2803 Logic Design
INFO 1103 Data and Information Management
Computer Science Elective Requirements
On top of courses under the Computer Science Core Requirements above, the student should take 3 extra computer science courses (worth 4 ch) each as follows:
- Two of them at the 3000 level or above
- One of them at the 4000 level or above
Mathematics and Statistics Core Requirements:
MATH 1003 Intro to Calculus I
MATH 1013 Intro to Calculus II
MATH 2213 Linear Algebra
or MATH 1503 Introduction to Linear Algebra
STAT 1793 Introduction to Probability and Statistics I
STAT 2793 Introduction to Probability and Statistics II
Breadth Core Requirements:
HUM 1021 Effective Writing I
Students should complete at least 27ch of approved courses (representing approx. 9 courses) from the areas of Arts, Business Administration, Engineering, and Science. MATH, STAT and SWE courses are not eligible for this requirement. Courses from other areas, as well as selected ECE courses (Electrical Engineering courses, not Computer Engineering courses), may be taken toward this requirement with prior approval from the Department Chair.
At least 6ch of these (2 courses) must be at the 2000 level or above.
It is strongly recommended that in order to meet this requirement, the student takes half of these courses in Science, Engineering, and/or Business, and half of these courses in Humanities and Social Sciences. Note that Honours students have to include Science courses, as described below.
The following courses cannot be used toward this breadth requirement, because of their heavy statistics content: BA 1605, BA 2606, BA 3129, ECON 4645, PSYC 2102, PSYC 2901, PSYC 3913, SOCI 3104.
Free Electives:
In addition to the courses taken to satisfy the core curriculum requirements, BScCS students must complete at least 24 ch of approved free electives (22ch if CS4993 is chosen in lieu of CS4983) to get a total of 141 ch. Students can choose combinations of electives to allow them to complete an area of specialization with the BScCS degree, to complete a Minor in another area, or simply to acquire more breadth in their studies. Students are encouraged to take one course (or more) in a newer area of computing. Note that MATH 3633 (Fundamental Principles of School Mathematics) cannot be taken for credit by: Computer Science students.
Areas of Specialization
The basic degree is obtained by satisfying the basic curriculum outlined above. In addition to the basic degree, three specializations or curriculum options are available, as described below:
- Specialization in High-Performance Scientific Computing
- Specialization in Software Engineering, and
- Specialization in Networking
To obtain a specialized degree, students must complete all required core courses and all required courses listed in the chosen area of specialization, and they must obtain a cumulative grade point average of 2.5 or greater.
Specialization in High-Performance Scientific Computing
Note: Admission to this specialization has been suspended.
Required Courses
- CS 3113 Introduction to Numerical Methods
- CS 3123 High-Speed Computing
- CS 4103 Parallel Programming with MPI
- CS 4113 Advanced Scientific Computing
- CS 4123 Topics in High-Performance Scientific Computing and Visualization
Specialization in Software Engineering
Required Courses
- CS 3033 Software Design and Development
- CS 4033 Software Project Management and Quality Assurance
- CS 4083 Leading-Edge Technology in Software Development
- CS 4093 Team Software Development Project
- CS 4525 Database Management Systems II
NOTE: The Specialization in Software Engineering is not an accredited engineering program and does not lead to registration as a Professional Engineer.
Specialization in Networking
Required Courses
In addition, at least three (3) of the following
four (4) courses must be completed.
- MATH 3343 Networks and Graphs
- CS 3123 High Speed Computing
- CS 4893 Network Programming
- CS 4713 Fundamentals of Simulation
Honours Degree Curriculum, Basic and Specialized:
Students in the BScCS degree program may elect, after their first or second year, an Honours degree program, with or without a specialization. Students who satisfy the requirements for an honours and/or specialized degree will have that designation on their final transcript. The honours degrees are designed to prepare students for graduate work.
The requirements for the basic BScCS degree must be met. Within the constraints of those basic requirements, the student must complete:
- A full-year course sequence in Science that includes labs, as part of the breadth core requirements:
- CS 3XXX or CS 4xxx (4ch). An extra upper-level CS elective, excluding CS 3403, CS 3813, CS 3913, CS 4613, and CS 4993
- CS 4XXX (4 ch) An extra fourth year CS elective, excluding CS 4613 and CS 4993.
- One CS topics course, covering an emerging area of computer science or recent advances in one area. Such course can be one of: CS4083, CS 4123, CS4973, or CS4999. The Department Chair must approve the topic chosen.
- CS 4993 with a grade of B or better, in lieu of CS 4983 .
An honours degree with specialization requires that the student meet the requirements of both the honours degree and the specialization. It further requires:
- Honours in High-Performance Scientific Computing: STAT 3083 and STAT 3093.
- Honours in Software Engineering: STAT 3703 .
- Honours in Networking: no additional courses required
A cumulative grade point average greater than or equal to 3.0 is required to achieve the honours degree. Students who satisfy the requirements for an Honours degree will receive "First Class Honours" if their CGPAs are greater than or equal to 3.5. If their CGPAs are greater than or equal to 3.0 and less than 3.5, they will receive "Second Class Honours".
Certificate in Computing
This certificate program is designed to provide individuals, especially working adults, with an opportunity to acquire the formal background necessary to become effective participants in the Information Technology Industry. Since the courses taken in the Certificate are also appropriate for the BScCS, students who later decide to pursue a BScCS will normally be able to transfer their credits into that program.
Although the scheduling of courses cannot be guaranteed, it is likely that the Certificate can be completed on a part-time basis in five terms.
The Certificate is also available to students who do not meet the entrance requirements of the BScCS program; in fact, there are no specific entrance requirements except the formal approval of the Department of Computer Science & Applied Statistics. However, students who do not have Grade 12 Math will have to pass Math 1863 before they take the required CS courses.
Core Courses
- CS 1073 Intro to Computer Programming I (in Java)
- CS 1083 Intro to Computer Programming II (in Java)
- CS 1303 Discrete Structures
- CS 2043 Software Engineering I
- INFO 1103 Data and Information Management
- CS 2383 Data Structures and Algorithms
- CS 2998 Programming Project
- ICS 1002 Foundations of Information and Communication Studies
Electives:(At least 12ch required)
Electives may be chosen from any of the 2000-, 3000-, or 4000-level Computer Science courses.
A grade of C or better is required in all courses credited toward the Certificate.
CS Minor
This program aims to prepare graduates from other disciplines to a career in areas of arts and business computer applications, such as in media, banking, data analyzing etc. There are potentially many rich opportunities for cooperation between the knowledge of arts and business disciplines with Computer Science for the above career.
Prerequisites
Grade 12 High School Math
Required courses
- CS 1073 Intro to Computer Programming I (in Java)
- CS 1083 Intro to Computer Programming II (in Java)
- CS 1303 Discrete Structures
- CS 2043 Software Engineering I
- CS 2253 Machine Level Programming
- CS 2383 Data Structures and Algorithms
- INFO 1103 Data and Information Management
Additional 4 ch from upper level CS courses (CS 2998 can be used to meet this requirement).
CS credits required = 32 ch min
Note: A grade of C or better is required in all courses credited towards the minor in CS.
IT Minor
In the last few years information technology (IT)has emerged to play an important role in most work environments. Organizations of all kinds have become more dependent on computing infrastructure than before. IT people are required to select, manage, and maintain IT infrastructure to meet organizational needs. This program aims to prepare graduates from other discipline to a career in IT.
Prerequisites
None. However, students who do not have NB Grade 12 Math will have to pass Math 1863 before they take the required CS courses (or permission of instructor).
Required Courses
- IT 1713 Multimedia and Information Highway
- IT 1813 Introduction to Data Management
- IT 2773 Java Programing for the Internet
OR - CS 1073 Intro to Computer Programming I (in Java)
- CS 1083 Intro to Computer Programming II (in Java)
- CS 2043 Software Engineering I
- INFO 1103 Data and Information Management
Additional 8 ch from upper level courses in CS/IT (or CS 2998 + 4ch from upper level courses in CS/IT).
Total CS/IT credits required = 29 ch min
Note: A grade of C or better is required in all courses credited towards the minor in IT.