Bachelor of Computer Science

Faculty of Computer Science

General Office: Computer Science Information Technology Centre, Room ITC314
Mailing Address: Faculty of Computer Science,
University of New Brunswick,
P.O. Box 4400, Fredericton, N.B.,
Canada, E3B 5A3 
Phone: (506) 453-4566
Fax: (506) 453-3566
Email: fcs@unb.ca
Website: http://www.unb.ca/fredericton/cs/

Faculty

Dean: Luigi Benedicenti, PhD, PEng, SMIEEE, FEC

Assistant Dean (Teaching & Undergraduate Affairs): Andrew McAllister, BA, MSc (CS), PhD

Assistant Dean (Research, Graduate Studies, Industry Outreach): Patricia Evans, BScCS, MScCS, PhD

  • Alhadidi, Dima, MSc (Jordan), PhD (Concordia), Asst Prof - 2017
  • Aubanel, Eric, BSc (Trent), PhD (Qu.), Prof - 2002
  • Bateman, Scott, BSc (UPEI), MSc, PhD (Sask), Asst Prof - 2015
  • Benedicenti, Luigi, Laurea (Universita di Genova), PhD (Universita di Genova), Prof and Dean - 2017
  • Bidlake, Leah, BCS, BEd, MCS (UNB), Instructor - 2016
  • Bremner, David, BSc (Calg), MSc (S.Fraser), PhD (McG.), Prof (Cross Appt – Mathematics and Statistics) - 1999
  • Cook, C. Paul, BSc (UBC), MScCS, PhD (Tor), Asst Prof - 2014
  • Du, Weichang, BSc (Beijing), MSc, PhD (UVic), Prof - 1991
  • Dueck, Gerhard, BSc, MSc, PhD (Manit), Prof - 1999
  • Evans, Patricia, BScCS (Alta), MScCS, PhD (UVic), Prof and Assistant Dean (Research, Graduate Studies, Industry Outreach) - 1997
  • Fleming, Michael, BSc (Mt.All.), MMath, PhD (Wat.), Prof - 2003
  • Ghorbani, Ali Akbar, BSc (Tehran), MScCS (GWU), PhD (UNB), Prof – 1999
  • Habibi Lashkari, Arash, BS (IAU), MSC (UM), PhD (UTM), Research Associate - 2017
  • Hyslop, William F., BScE, MSc(CS) (UNB), PhD (Tor), Sr.Teaching Assoc - 1991
  • Kent, Kenneth, BSc (MUN), MSc, PhD (UVic), Prof - 2002
  • Lu, Rongxing, BSc, MSc (Tongi), PhD (Shanghai), PhD (Wat.), Asst Prof - 2016
  • MacIsaac, Dawn, BPE (McM.), BEd (Qu.), BEng (McM.), MScE (UNB), PhD (UNB), Assoc Prof (Joint ECE) - 2002
  • McAllister, Andrew, BA, MSc (CS) (UNB), PhD (Sask), Prof and Assistant Dean (Teaching and Undergraduate Affairs) - 1994
  • Pochec, Przemyslaw, BEng (Warsaw), MSc(CS), PhD (UNB), Assoc Prof - 1989
  • Ray, Suprio, BE (NIT), MSc (UBC), PhD (Tor), Asst Prof - 2015
  • Song, Wei, BSc (HBU), MSc (BUPT), PhD (Wat), Assoc Prof - 2009
  • Stakhanova, Natalia, BS, MS (Moscow), MS, PhD (Iowa St), Research Assoc, 2012, NBIF Chair in Cyber Security, 2014
  • Webber, Natalie, BCS, MCS (UNB), Sr. Teaching Associate - 2000
  • Wightman, Richard, BScF, MScF (UNB), Sr. Teaching Associate - 2000
  • Zhang, Huajie, BSc (China), MSc (China), PhD (WOnt), Prof - 2002

Adjunct Professors:*

  • Bagheri, Ebrahim, BSc, MSc, PhD, Adjunct Prof - 2016
  • Boley, Harold, MSc, PhD (Hamburg), Adjunct Prof. - 2002
  • Buffett, Scott, BCS, MCS, PhD (UNB), Adjunct Prof - 2005
  • Hinkenjann, Andre, PhD, Adjunct Prof - 2010
  • Munro, Ian, BA (UNB), MSc (Br Col), PhD (Tor), Adjunct Prof - 2005
  • Spencer, Bruce, BSc (Dal), MMath, PhD (Wat), Adjunct Prof. - 1990

* Adjunct professors are involved in the graduate programs and research of the Faculty and are not usually involved in the undergraduate curriculum.

General Information

The Faculty of Computer Science was established at UNB on May 1, 1990, thereby becoming the first such faculty in Canada. Computer Science at UNB was established as a Department in 1968 and offered only the graduate MCS degree. Subsequently, in 1973, Computer Science became a School, administratively affiliated with the Faculty of Engineering, and offered the undergraduate BCS degree, conferring its first such degree in 1974. The Ph.D. program was approved in 1987, with its first degree awarded in 1990.

The Faculty offers a four-year undergraduate program leading to the degree of Bachelor of Computer Science. Honours and Majors degree programs are also offered. The program of studies is designed to enlarge the student's view of the world as well as to provide the background and qualifications to pursue careers in the field of computing. It is based on a set of core subjects which are intended to develop problem solving ability and provide a basic understanding of concepts fundamental to information processing. Students, through a choice of electives, may deepen their knowledge in computing subjects or develop an understanding in some complementary discipline.

The Faculty of Computer Science also offers the following degree programs:

  • Bachelor of Information Systems (NOTE: Admission to the Bachelor of Information Systems program has been suspended, effective September 2015. For further information, please contact the Dean of the Faculty of Computer Science.)
  • Bachelor of Science in Software Engineering (offered jointly with the Faculty of Engineering)

Co-operative Education Program

  1. The Faculty operates a full Co-operative Education (Co-op) Program that is available to academically qualified Computer Science students who have completed one year of study. Co-op is "hands-on" education, extending the learning process beyond the classroom into the workplace by alternating academic study terms with paid periods of career related work experience. This allows students to put classroom knowledge to practical and profitable use in the Canadian workplace. At UNB the Co-op Program in Computer Science consists of eight study terms and four to six work terms of four months each. This program is normally completed in five years, compared to the regular four year program, and allows students to obtain a Majors or Honours designation in addition to Co-op. Students normally apply for this program during their second term of study and enter the program at the end of their first year, although later application and entry into the program is possible.
  2. Co-op is a designated option within the BCS, BA/BCS, BCS/BSc, BISys, BScSwE, and BCS/BScE(GGE) programs in the Faculty of Computer Science.
  3. To be eligible for a co-op work term, students must normally have achieved a minimum of a 2.7 GPA in the study term preceding their application for employment. 
  4. Students must register for each work term in order that they be considered as full-time students while working.
  5. A work term fee will be charged for each 4 month work term registered.
  6. The overall assessment of the work period is the responsibility of the Faculty of Computer Science. The work period assessment shall consist of two components: 1) student performance as evaluated by a coordinator, given input from the employer, and 2) a work report graded by a coordinator or a member of faculty.
  7. Students must have a minimum of four work terms of four months each, alternating with study terms, with satisfactory employer evaluations and work term reports in order that the Co-op designation appear on their transcripts. Two back-to-back work terms are possible, giving periods of work up to eight months in duration.
  8. A co-op student’s first work term will normally be 4 months in duration. After the first 4-month work term, the student shall return to UNB to study for at least one term before going out for another work term.
  9. A co-op student will normally complete at least one Summer study term during his or her degree program. This Summer study term will normally be completed before the student applies for his or her third work term. (i.e. Normally, no more than two 4-month work terms should be completed before the Summer study term.)
  10. Students will normally have at least one study term after their last work term.
  11. Each successful work term will be noted on the student's transcript.
  12. Upon graduation, Co-op students will have the designation "Co-operative Education" following the degree designation on their transcript.
  13. Students must be registered as full-time students in order to be eligible to apply for Co-op jobs.

Professional Experience Program (PEP)

This program adds flexibility to the work experiences available to our students by providing opportunities to work for employers who prefer the PEP model over the Co-op model. Moreover, many transfer students into Computer Science find it easier to fit a PEP with their academic program than a traditional sequence of Co-op work terms.

  • Program Description
  1. The PEP requires an extended period of continuous work experience, the duration of which may be 12 or 16 months.
  2. A Co-op coordinator provides the necessary liaison and support activities for students in this program.
  3. The overall assessment of the PEP experience is the responsibility of the Faculty of Computer Science. The work period assessment shall consist of two components: 1) student performance as evaluated by a coordinator, given input from the employer, and 2) a work report graded by a coordinator or a member of faculty.
  4. While no specific course credit will be assigned to the PEP, a negotiated component of a PEP project may form an integral part of the student's senior project, based on a written proposal, progress reports, and faculty supervision in accordance with standard CS 4983 regulations.
  • Program Registration
  1. The PEP is a designated option within the BCS, BA/BCS, BCS/BSc, BISys, BScSwE, and BCS/BScE (GGE) degree programs in the Faculty of Computer Science.
  2. The PEP will be open to all Faculty of Computer Science students with good academic standing, who will have completed between 80 and 120 credit hours at the beginning of the PEP work term, including having completed 50% of the required Computer Science courses, and having completed at most 2 Co-op work terms. To be considered in good academic standing for the purpose of PEP registration, a student must normally have achieved a minimum of a 2.7 GPA in the study term preceding their application for employment.
  3. Students may transfer from CS Co-op to PEP under the restrictions of not having completed more than 2 Co-op work terms. Students who have registered for a PEP normally will not be eligible to enter, or reenter, the CS Co-op program.
  4. Registration in this option is contingent upon receiving an offer of employment from an approved PEP employer and will depend on the number of PEP positions available. Each student normally will be allowed only one such PEP registration during his/her degree program.
  5. Official University registration is required for each student in the PEP. This will enable PEP students to remain on the Registrar's list in good standing during the time encompassed by their off-campus PEP period.
  6. Each student in this program will be charged a PEP fee.
  7. A suitable notation will be placed on each student's transcript in recognition of this PEP option.

University Regulations

Students are strongly advised to read the General University Regulations, Section B of this Calendar, and in particular the subsection headed "Grading System and Classification". Any point not covered in the following regulations will be governed by the General University Regulations.

Students applying for a second undergraduate bachelor's degree, transferring from other institutions, or changing degree programs are particularly advised to consult Section B of this Calendar. Questions concerning the application of regulations should be directed to the Registrar in writing.

General Regulations

  1. To earn a BCS degree, a student must complete at least 40 courses, as specified below. Completing these requirements involves, completing at least 133 credit hours worth of courses.
  2. Any course taken to satisfy any of the requirements for a BCS degree must be passed with a minimum grade of C.
  3. Developments in the BCS program may lead to changes in the requirements for the degree. The University reserves the right to require candidates already enrolled to meet the revised requirements where practicable.

Curriculum

The basic curriculum for the BCS program and six areas of specialization are given below to assist the student in planning a program of studies.

Students will typically take 5 or 6 courses per term to complete the program in 8 study terms. Students whose grade point average drops below 2.7 (B-) should restrict their course load to 5 courses, or fewer.

Every student must complete at least 12 credit hours of courses with an extensive English writing component with a minimum grade of “C”. These courses are indicated with a “W” in the Calendar. AESL 1011 and AESL 1012 will not count for credit towards the BCS degree, nor will they count towards the writing component requirement.

Core Curriculum (Required)

Computer Science Core Requirement

(NOTE: The following set of core courses is in effect for students admitted to the BCS program during either the 2016-2017 or 2017-2018 academic years.)

CS 1073 Introduction to Computer Programming I (in Java)
CS 1083 Introduction to Computer Programming II (in Java)
INFO 1103 Data and Information Management
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 3383 Algorithm Design and Analysis
CS 3413 Operating Systems I
CS 3853 Computer Architecture and Organization
CS 3873 Net-centric Computing
CS 3997 Professional Practice

Technical Elective Requirement

In addition to the course courses listed above, students are required to select a total of 7 technical elective courses (worth a minimum of 3 ch each), as follows:

  • 7 CS/INFO/SWE courses, at least 3 of which must have an extensive computer programming component (indicated with a [P] in the Calendar).

At least 4 of these 7 technical elective courses must be 3rd year or above, and at least 1 of these being 4th year or above. NOTE: Courses worth 6 credit hours or more will count as two courses toward this requirement. 

Mathematics and Statistics Core Requirement

1. MATH 1003 Introduction to Calculus I
2. MATH 1013 Introduction to Calculus II
3. One of:
MATH 1503 Introduction to Linear Algebra
MATH 2213 Linear Algebra I

One of the following two options:

4. STAT 3083 Probability and Mathematical Statistics I
5. STAT 3093 Probability and Mathematical Statistics II

OR:

4.STAT 2593 Probability and Statistics for Engineers
5. One of:
CS 3113      Introduction to Numerical Methods
MATH 2003  Intermediate Mathematics I
MATH 2513  Multivariable Calculus for Engineers 
MATH 3033 Group Theory
MATH 3063 Geometry
MATH 3093 Elementary Number Theory
MATH 3213 Linear Algebra II
MATH 3333 Combinatorial Theory
MATH 3343 Networks and Graphs
MATH 3353 Computational Algebra
MATH 3363 Finite Math
MATH 3373 Introduction to Game Theory
MATH 3383 Introduction to Mathematical Logic
MATH 4063 Advanced Geometry (Exotic Spaces)
STAT 4333 Queuing Theory
Another approved MATH/STATS elective at the 2000 level or above, approved by the Assistant Dean (Undergraduate) in the Faculty of Computer Science.

Breadth Core Requirement

BCS students must complete at least 10 approved courses (minimum of 30 ch) in subjects other than computer science and mathematics, which means that CS, INFO, SWE, MATH, and STAT courses are not eligible for this requirement. Selected ECE courses may be taken toward this requirement with prior approval from the Assistant Dean (Undergraduate).

At least 2 of these courses (minimum of 6 ch) must be at the 2000 level or above.

NOTES:

  • Courses worth 6 credit hours or more will count as two courses toward this requirement.
  • AESL 2011 and AESL 2012 (or equivalent) count as first-year English.
  • See the GENERAL NOTES section below for a list of courses that are not for BCS credit.

Free Electives

In addition to the courses taken to satisfy the core curriculum requirements, BCS students must complete at least 4 approved free electives (minimum of 12 ch). Students can choose combinations of electives to allow them to complete an area of specialization with the BCS degree (see below), to complete a Minor in another area, or simply to acquire more breadth in their studies. Note: Courses worth 6 credit hours or more will count as two courses toward this requirement.

General Notes

  1. Credit is not given toward the BCS degree for MATH 1823, MATH 1833, MATH 2633, ADM 2623, PHIL 3101.
  2. UNIV 0101 (formerly UNIV 1001), AESL 1011 and AESL 1012 will not be counted for credit toward degree programs offered by the Faculty of Computer Science.
  3. Credit will not be given for both CS 1303MATH 2203.
  4. None of ECE 2213, ECE 2214, ECE 2215, or ECE 3221 will normally be counted for credit toward the BCS degree.

Common First Year (5 courses each term)

CS 1073 Intro to Computer Programming I (in Java)
MATH 1003 Intro to Calculus I, or MATH 1053 Enriched Intro to Calculus I
MATH 1013 Intro to Calculus II, or MATH 1063 Enriched Intro to Calculus II
CS 1083 Introduction to Computer Programming II (in Java)
CS 1303 Discrete Structures
CS 1203 Overview of Computer Science
INFO 1103 Data and Information Management

Three  term courses toward the Breadth Core Requirement, selected from Arts, Business Administration, Engineering and Science.

Honours in Computer Science

The requirements for the Bachelor of Computer Science with Honours are the following:

  1. The student's BCS Technical Elective Requirement must be satisfied with 7 CS/INFO/SWE courses. At least 5 of these 7 courses must be 3rd year or above, and at least 2 of these 7 courses must be 4th year or above. 
  2. The student must have a cumulative grade point average of 3.0 or above.
  3. As one of the two required 4th year Technical Elective courses, the student must complete CS 4997 (Honours Thesis) with a grade of B or better.

Students satisfying the requirements for an Honours degree will receive a "First Class Honours" designation if their CGPA is 3.5 or above, and "Honours", if their CGPA is 3.0 or above and less than 3.5.

Students may elect to combine Honours with one of the specializations mentioned below, but an Honours designation can be obtained without completing one of the areas of specialization.

Areas of Specialization and Electives

To assist students in planning a program of studies, some recommended courses for areas of specialization, and elective groupings, are given at the end of this section. The suggested first year, and to some extent the second, are common to the six recommended areas. First and second year electives should be carefully chosen to include courses which are prerequisites to courses intended to be taken in the third and fourth years. Students are not bound in any way to follow an area of specialization, but each student must have their program approved by the faculty. Students are advised to check carefully on course prerequisites in preparing a program. The six areas are:

Area One--Hardware Systems
Emphasizes digital systems logic, communications and organization.

Area Two--Software Systems 
Emphasizes program design, applications and systems software.

Area Three--Information Systems 
Emphasizes the data and information processing area of computer applications including database management systems.

Area Four--Theory and Computation 
Emphasizes the theoretical basis for several important areas of computer science development.

Area Five--Multimedia Systems 
Emphasizes the technical and creative aspects of multimedia systems development.

Area Six--Geographic Information Systems (GIS) 
Emphasizes the application of computers to the storage, retrieval, and processing of geographically referenced information.

Area Seven--Cybersecurity (GIS) 
Emphasizes the protection of infomration assets from scybersecurity threats.

Courses for Areas of Specialization

Hardware Systems 
ECE 1813, ECE 2701, 3 from Group H (with at least 2 of these being CS courses).

Software Systems 
4 courses from Group F, plus 2 courses from Group F or G. Of these 6 courses, at least 3 must be at the 4000 level.

Information Systems
CS 3503, ADM 1213, 2 of (INFO 2403, INFO 3103, INFO 3303, INFO 3403); and 2 courses from Group D.

Theory and Computation
CS 4935, MATH 3343, 2 from Group E (1 of which must be CS).

Multimedia Systems
CS 3025, CS 3703, CS 4735, plus 3 approved courses from the Faculty of Arts. A list of preapproved Arts courses for the Multimedia Systems specialization can be obtained from the Faculty of Computer Science.

Geographic Information Systems 
INFO 3303, CS 4735, GGE 3423, GGE 4423; 2 from CS 3025, INFO 3403, GGE 5413, GGE 3342, GGE 3353, GGE 4313, GGE 5403, GGE 5322, GGE 5341, GGE 5402INFO 3103.

Cybersecurity

INFO 2403, CS 4355, CS 4411, CS 4417, CS 4419, CS 4865

Groups:

Group A: Approved non-core CS/INFO/SWE 3000, 4000, and 5000 level courses, excluding CS 3903 .
Group B:
Approved courses, at the 2000 level and above, taken from PHYS, or ECE.
Group C:
Approved courses taken from MATH and STAT 3000 and 4000 level courses.
Group D: 
ADM 1313, ADM 2223, ADM 2413, ADM 2513, ADM 2624, ADM 2815, ADM 3123, ADM 3573.
Group E:
CS 3113, CS 4725, CS 4735, CS 4905, CS 4965, MATH 3363, MATH 3333, MATH 3373, MATH 3383, STAT 4333. Other approved Math/CS courses. 
Group F: CS 3043, CS 3503, CS 3613, CS 4015, CS 4405, CS 4905, INFO 3103, SWE 4103, SWE 4203.
Group G: CS 2053, CS 3025, CS 4725, CS 4735, CS 4745, CS 4805.
Group H: CS 4405, CS 4745, CS 4805, CS 4815, CS 4825, CS 4835, CS 4865, CS 5865, or ECE courses at the 3000 or 4000 level approved by the Assistant Dean (Undergraduate) in the Faculty of Computer Science.

Majors Degrees

NOTE: Admission to the BCS Majors programs is suspended, effective December 2015. For further information, please contact the Dean of the Faculty of Computer Science.

Students in Computer Science may elect to pursue a Majors degree program within one of the areas of specialization. Students who satisfy the requirements for a Majors degree will have that designation included on their final transcript.

Courses used to satisfy core may also be used to satisfy the requirements for a Major degree, as well as minors (as long as the home department agrees), certificates and diplomas.

A student may only graduate with one Major within the BCS program. The BCS program does not support double majors, but students in a concurrent program may graduate with a major in the BCS program and one in the other degree program.

Requirements for a Majors Degree:

  1. Completion of all courses in an area of specialization.
  2. A cumulative grade point average of 2.5 or above.

Minor in Computer Science

Students who are not registered in a degree program in the Faculty of Computer Science may complete a Minor in Computer Science by completing 8 approved term courses from CS, INFO, or SWE, including CS 1073, CS 1083, CS 1303 (MATH 2203 may be used as an equivalent), CS 2043, CS 2263, and CS 2383. Of the remaining two courses, one must be at the second year level or above, with the second of those being at the third year level or above. Courses of 1 or 2 credit hours cannot be counted for credit towards the Minor. CS courses that are designated for non-CS students will not count towards the Minor. A grade of C or better is required in all courses offered for the Minor. Students working towards a Minor in Computer Science must make their intentions known to the Faculty of Computer Science.

Concurrent BA/BCS Degree Program

The Faculty of Computer Science, in cooperation with the Faculty of Arts, offers students the opportunity to obtain both a BCS degree and a BA degree by selecting a well-planned choice of courses. To complete the concurrent degree, students must satisfy both the BA and BCS degree requirements. Completing these requirements will involve completing at least 151 credit hours worth of courses over a five year period. In order to meet the requirements for this program, it is necessary for the student to obtain advice from both faculties. By completing this program, the student will meet the core requirements for the basic BCS degree; participation in the Computer Science Co-op program will lengthen the student's program. For specific details on course planning, see the Faculty of Arts sections of the Calendar.

Admission requirements:
Students must satisfy the admission requirements for both the Bachelor of Computer Science and the Bachelor of Arts as given in section B.

Concurrent BCS/BSc Degree Program

Most scientific careers now require a thorough background in computing. Many careers in the computing field require primary knowledge in a scientific application area. The Faculty of Science and the Faculty of Computer Science offer students a program in which to pursue a science major and a complete computer science education. Students may enroll in a concurrent degree program in which at the end of five to five-and-a-half years of study a student will graduate with both a BSc with a major in Biology, Chemistry, Earth Sciences, Mathematics, or Physics, and a BCS. Participation in the Computer Science Co-op program will lengthen the student's program. The program is designed so that if a student decides to opt for BCS alone, the adjustments can be easily made. Students in the concurrent degree program are able to count many of their courses toward the requirements of both degrees so it is important to select courses carefully from the outset, in consultation with an advisor.

Admission requirements:
Students must satisfy the admission requirements for both the Bachelor of Computer Science and the Bachelor of Science as given in Section B.

Course Selections
While the first and second years given below are typical, the third, fourth and fifth year will depend on the CS and Science degree programs chosen (Major, Honours, etc.)

Year 1 CS 1073, CS 1083, two of (INFO 1103, CS 1203, or CS 1303), MATH 1003, MATH 1013, (or MATH 1053, MATH 1063) plus four term lecture courses in first year science, all four of which are accompanied by labs, chosen from Biology, Chemistry, Physics, and Earth Sciences. The particular sciences and labs chosen will depend on the intended Science program. MATH 2203 may be substituted for CS1303. Students planning to major or honour in Mathematics are strongly recommended to choose MATH 2203 rather than CS 1303. Credit will be given for only one of CS 1303 and MATH 2203.

Year 2 One of (INFO 1103, CS 1203, or CS 1303), CS 2043, CS 2263, MATH 2213, one of (CS 2333 or CS 2383), MATH 2003, plus 6 term courses in Science (minimum 18 ch) chosen in consultation and with the approval of the advisor in your chosen Science discipline.

Year 3, 4, 5 These must be arranged in consultation with your CS and Science advisors and will be different for each student.

Certificate in Software Development

General

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. This program is directed towards people who are not currently enrolled in an undergraduate degree program at UNB. It is expected that applicants will have good command of high school mathematics. If not, they will have to take MATH 0863 (pre-calculus math) before applying to the program. Credits earned in the certificate program may subsequently be recognized for credit in an undergraduate degree program.

The program consists of 6 core courses and 4 elective courses.

Core Courses

CS 1073 Introduction to Computer Programming I (in Java)
CS 1083 Introduction to Computer Programming II (in Java)
CS 1303 Discrete Structures
CS 2043 Software Engineering I
CS 2263 Systems Software Development
CS 2383 Data Structures and Algorithms

Elective Courses: 4 courses (at least 3 credit hours each) chosen from:

  • INFO 1103: Data and Information Management
  • CS/INFO/SWE courses at the 2000 level or above that can be taken for credit by Bachelor of Computer Science students.

Any course taken to satisfy any of the requirements for a Certificate in Software Development must be passed with a minimum grade of C.

This program is intended as a part-time program. The program can be completed in 16 months with effort. Sample schedules can be found below.

Fastest Possible Completion Schedule (16 months):

Fall: CS 1073, CS 1303.
Winter: CS 1083, one elective
Summer: CS 2263, two electives
Fall: CS 2043CS 2383, one elective

Two courses per term (20 months):
Fall: CS 1073, CS 1303.
Winter: CS 1083, one elective
Summer: CS 2263, two electives
Fall: CS 2043, CS 2383
Winter: Two electives

Work Term Component

An optional four month work term for students in the Undergraduate Certificate in Software Development is available as specified by the following regulations:

  1. The work term will be administered by the CS Co-op Program. A work term evaluation and work term report will be part of the experience.
  2. Certificate students are eligible for at most one work term, available only between September and April.
  3. Certificate students must have achieved a minimum of a 2.7 gpa on all courses taken relevant to the Certificate Program.
  4. Students must have completed at least 8 ch in the Certificate Program before being eligible to apply for a work term.
  5. Students must normally have a minimum of one study term remaining following their work term.
  6. There will be a work term fee associated with the work term experience. This fee will be the same as the work term fee for a Co-op work term.

Computer Science (BCS) Entrance Program

  1. High School students who do not meet the admission requirements noted in the Admission Chart for direct entry to the BCS program but have a passing grade in each of the required courses and a minimum admission average of 60% may be considered for full time admission to an Entrance Program to the extent that capacity allows.
  2. Students enrolled in the BCS Entrance program are restricted to a maximum of 28 ch in the first year of studies. This is a prescribed set of courses as determined by the Faculty, including Math 1003, five courses in Computer Science and Information Systems, one breadth course (e.g., Arts, Business Administration) and UNIV 0101.
  3. Students are required to meet with their Faculty Advisor on a semi-annual basis.
  4. Students who successfully complete their first year with a minimum grade of C in at least 20 ch of courses obtain a minimum GPA of 2.0 regardless of the total number of credit hours completed, successfully complete UNIV 0101 and other conditions as may be outlined by the Faculty, will be approved for admission to the BCS program for the upcoming academic year.
  5. Students who do not succeed in completing the program requirements may not be permitted to continue in the BCS Entrance program nor enter the BCS degree program.
  6. Students can only register in the BCS Entrance program once.