pilipili

 
 

Joint Program (2+2) in Computer Science

pilipili and University of Electronic Science and Technology of China

Overview

A student who pilipilifully completes this four-year program of study, will be awarded a either a Bachelor of Computer Science or a Bachelor of Computer Science with Honours from (DAL), Halifax, Canada and a Bachelor of Science from the University of Electronic Science and Technology of China (UESTC).

  • The first two years are taught at UESTC.
  • The following two years are taught at DAL.
  • Admission to the DAL portion of the program requires:
  • A student enrolled in the program may be permitted to take the Co-operative Education option if he or she satisfies the English language requirement for unconditional admission. A student who completes all degree requirements as well as the co-op requirements will be awarded either a Bachelor of Computer Science (Co-operative Education) or a Bachelor of Computer Science with Honours (Co-operative Education).
  • Depending on elective selections, DAL will also award a certificate in one of the following four :
    • Data Science
    • Artificial Intelligence and Intelligent Systems
    • Communication Technologies and Cyber Security
    • Graphics, Gaming, and Media

Curriculum at UESTC – Years 1 and 2

For students in the UESTC Computer Science program
Semester Course No. Course Name Credits GPA
1 6082001 Fundamentals of Programming 2.5 X
1 13051001 College English II 4 X
1 10071005 Linear Algebra and Analytic Geometry I 4 X
1 10071006 Linear Algebra and Analytic Geometry II 5 X
1 10071001 Calculus I 6 X
1 10071002 Fundamentals of Mathematical Analysis I
1 14041001 Physical Education I
1 19121001 Military Theory
1,2 16031001 Morals & Ethics & Fundamentals of Law
1,2 16031002 Outline of Modern Chinese History
1,2,3,4 16031005 Situation and Policies
2 13051002 College English II 4 X
2 10071003 Calculus II 5 X
2 4071001 Physics I 4 X
2 6082002 Discrete Mathematics 4.5 X
2 6084021 Object-oriented Programming in Java 3 X
2 10071004 Fundamentals of Mathematical Analysis II
2 20082001 Fundamentals of Circuit Analysis
2 14041002 Physical Education II
3 13051003 College English II or English Elective I 4 X
3 10071007 Probability Theory and Mathematical Statistics 3.5 X
3 4071002 Physics II 4 X
3 4071003 College Physics Experiment I 2 X
3 6082003 Data Structure 4 X
3 6084022 C++ Programming 3 X
3 20082002 Fundamentals of Analog Circuits
3 14041003 Physical Education III
4 6082025 Computer Graphics 2 X
4 4071004 College Physics Experiment II 2 X
4 6082005 Computer Networks 3.5 X
4 6082004 Digital Logic 4 X
4 10071008 Mathematical Experiment
4 14041004 Physical Education IV
ELECTIVE CREDITS REQUIRED BY UESTC
For students in the UESTC Software Technology program
Semester Course No. Course Name Credits GPA
1 D1000160 Calculus I 6 X
1 D1000540 Linear Algebra and Analytic Geometry I 4 X
1 E2200140 C Language Programming 4 X
1 F2200210 Introduction to Information Engineering 1 X
1 14041001 Physical Education I
1 19121001 Military Theory
1,2 16031001 Morals & Ethics & Fundamentals of Law
1,2 16031002 Outline of Modern Chinese History
1,2,3,4 B1300140 English 16 X
1,2,3,4 16031005 Situation and Policies
2 D1000250 Calculus II 5 X
2 E2200440 Data Structure and Algorithm 4 X
2 E2200530 Object-oriented Programming (Java) 3 X
2 E2200330 Discrete Mathematics 3 X
2 14041002 Physical Education II
3 D1000735 Probability Theory and Mathematical Statistics 3.5 X
3 E2201040 Principles of Computer Operating System 4 X
3 F2200120 IT Engineer Professional Ethics 2 X
3 E2200940 Principles of Computer Organization and Architecture 4 X
3 14041003 Physical Education III
4 E2201140 Fundamentals of Computer Networks 4 X
4 D1001820 Mathematical Modeling 2 X
4 E2201240 Database Principles and Applications 4 X
4 E2201330 Fundamentals of Software Engineering 3 X
4 G2215420 Human-Computer Interface Design 2 X
4 14041004 Physical Education IV
ELECTIVE CREDITS REQUIRED BY UESTC
For students in the UESTC Information Engineering program
Semester Course No. Course Name Credits GPA
1 E2200140 C Language Programming 4 X
1 D1000160 Calculus I 6 X
1 D1000540 Linear Algebra and Analytic Geometry I 4 X
1 19121001 Military Theory
1 14041001 Physical Education I
1,2,3,4 16031005 Situation and Policies
1,2 16031001 Morals & Ethics & Fundamentals of Law
1,2 16031002 Outline of Modern Chinese History
1,2,3,4 B1300140 English 16 X
2 D1000250 Calculus II 5 X
2 E2201530 Digital Logic Design 3 X
2 F2200210 Introduction to Information Engineering 1 X
2 K1001320 Mathematical Experiment 2 X
2 D0400440 University Physics II 4 X
2 14041002 Physical Education II
3 E2201750 Fundamentals of Electronic Circuits 5 X
3 F2200120 IT Engineer Professional Ethics 2 X
3 H2200540 Object-oriented Programming (C++) 4 X
3 E2200740 Principles of Computer Organization and Architecture 4 X
3 D1000735 Probability Theory and Mathematical Statistics 3.5 X
3 14041003 Physical Education III
4 E2200440 Data Structure and Algorithm 4 X
4 G2210150 Digital Signal Processing 5 X
4 E2201030 Fundamentals of Software Engineering 3 X
4 E1001720 Mathematical Modeling 2 X
4 E2201040 Principles of Computer Operating System 4 X
4 G2210030 Stochastic Signal Analysis 3 X
4 14041004 Physical Education IV
ELECTIVE CREDITS REQUIRED BY UESTC
For students in the UESTC Network Security program
Semester Course No. Course Name Credits GPA
1 F2200210 Introduction to Information Engineering 1 X
1 E2200140 C Language Programming 4 X
1 D1000540 Linear Algebra and Analytic Geometry I 4 X
1 D1000160 Calculus I 6 X
1 14041001 Physical Education I
1 19121001 Military Theory
1,2,3,4 16031005 Situation and Policies
1,2 16031001 Morals & Ethics & Fundamentals of Law
1,2 16031002 Outline of Modern Chinese History
1,2,3,4 B1300140 English 16 X
2 D1000820 Mathematical Experiment 2 X
2 E2201530 Digital Logic Design 3 X
2 F2230130 Applied Mathematics 3 X
2 F2230210 Introduction to Information Security 3 X
2 E2200530 Object-oriented Programming (Java) 3 X
2 E2200440 Data Structure and Algorithm 4 X
2 D0400340 University Physics I 4 X
2 D1000250 Calculus II 5 X
2 14041002 Physical Education II
3 F2200120 IT Engineer Professional Ethics 2 X
3 G2231130 Mathematical Foundations of Information Security 3 X
3 D1000735 Probability Theory and Mathematical Statistics 3.5 X
3 E2201040 Principles of Computer Operating System 4 X
3 E2200940 Principles of Computer Organization and Architecture 4 X
3 14041003 Physical Education III
4 D1001820 Mathematical Modeling 2 X
4 G2231230 Foundations of Cryptography 3 X
4 E2201330 Fundamentals of Software Engineering 3 X
4 E2201140 Fundamentals of Computer Networks 4 X
4 E2201240 Database Principles and Applications 4 X
4 14041004 Physical Education IV
ELECTIVE CREDITS REQUIRED BY UESTC
For students in the Animation program
Semester Course No. Course Name Credits GPA
1 D1000160 Calculus I 6.0 X
1 D1000540 Linear Algebra and Analytic Geometry I 4.0 X
1 E2200140 C Language Programming 4.0 X
1 F2245020 Introduction to Digital Media 2.0 X
1 B1400110 Physical Education I
1 B9800110 Military Theory
1,2 B1600130 Morals & Ethics & Fundamentals of Law
1,2 B1600220 Outline of Modern Chinese History
1,2,3,4 B9800320 Situation and Policies
1,2,3,4 B1300140 English 16.0 X
2 D1000250 Calculus Ⅱ 5.0 X
2 E2200330 Discrete Mathematics 3.0 X
2 E2200440 Data Structure and Algorithm 4.0 X
2 F2245130 Computer Graphics 3.0 X
2 F2200540 Object-oriented Programming (C++) 4.0 X
2 G2245320 Aesthetic Foundation 2.0 X
2 K1001320 Mathematical Experiment 2.0 X
2 B1400210 Physical Education II
3 D1000735 Probability Theory and Mathematical Statistics 3.5 X
3 E2201240 Database Principles and Applications 4.0 X
3 E2200740 Principles of Computer Organization and Architecture 4.0 X
3 G2245230 Computer Animation 3.0 X
3 G2245420 Colour and Composition 2.0 X
3 K2245830 Project I 3.0 X
3 B1400310 Physical Education III
4 E2201040 PrinciplesofComputerOperatingSystem 4.0 X
4 603635 Fundamentals of Computer Networks 3.5 X
4 E1001720 Mathematical Modeling 2.0 X
4 K2245930 Project II 3.0 X
4 B1400410 Physical Education IV
ELECTIVE CREDITS REQUIRED BY UESTC

Curriculum at DAL – Years 3 and 4

The DAL degree awarded is either a Bachelor of Computer Science (BCS) or Bachelor of Computer Science with Honours (BCS-H), depending on the courses selected.

For students in the UESTC Computer Science program
Course No. Course Name B H Notes
CSCI 2100 Communication Skills: Oral and Written X X 1,2
CSCI 2141 Introduction to Database Systems X X 2
CSCI 3101 Social, Ethical and Professional Issues in Computer Science X X
CSCI 3110 Design and Analysis of Algorithms I X X
CSCI 3120 Operating Systems X X
CSCI 3130 Introduction to Software Engineering X X
CSCI 3136 Principles of Programming Languages X X
CSCI 8873 Honours Thesis X
1 x business, science, or engineering at 2000 level or above X X 2,3
7 x free electives at 2000 level or above
2 x CS elective at 3000 level or above
3 x CS elective at 4000 level or above
X
6 x free electives at 2000 level or above
5 x CS elective at 4000 level or above
X 2,3,4

Notes

  1. Must be taken in term 5 (Fall term of year 3 of the program), or with permission of the Dalhousie Program Manager, in term 7 (Fall term of year 4 of the program).
  2. If a computer science course requires the Dalhousie Writing Requirement or any of the following courses as a prerequisite, that prerequisite will be waived: CSCI 1100, CSCI 1101, MATH 1000, MATH 1010, CSCI 2110, CSCI 2121, CSCI 2132, STAT 2060, MATH 2030, CSCI 3171.
  3. None of the following courses may be chosen as an elective: CSCI 1100, CSCI 1101, MATH 1000, MATH 1010, CSCI 2110, CSCI 2121, CSCI 2132, STAT 2060, MATH 2030, CSCI 3171.
  4. It is recommended but not required that the Computer Science electives should include CSCI 4192: Directed Studies, taken before CSCI 8873.
For students in the UESTC Software Technology program and Animation program
Course No. Course Name B H Notes
CSCI 2100 Communication Skills: Oral and Written X X 1,2
CSCI 3101 Social, Ethical and Professional Issues in Computer Science X X 2
CSCI 3110 Design and Analysis of Algorithms I X X
CSCI 3120 Operating Systems X X
CSCI 3130 Introduction to Software Engineering X X
CSCI 3136 Principles of Programming Languages X X
CSCI 8873 Honours Thesis X
1 x business, science, or engineering at 2000 level or above X X 2,3
8 x free elective at 2000 level or above
2 x CS elective at 3000 level or above
3 x CS elective at 4000 level or above
X
7 x free elective at 2000 level or above
5 x CS elective at 4000 level or above
X 2,3,4

Notes

  1. Must be taken in term 5 (Fall term of year 3 of the program), or with permission of the Dalhousie Program Manager, in term 7 (Fall term of year 4 of the program).
  2. If a computer science course requires the Dalhousie Writing Requirement or any of the following courses as a prerequisite, that prerequisite will be waived: CSCI 1100, CSCI 1101, MATH 1000, MATH 1010, CSCI 2110, CSCI 2121, CSCI 2132, STAT 2060, MATH 2030, CSCI 3171.
  3. None of the following courses may be chosen as an elective: CSCI 1100, CSCI 1101, MATH 1000, MATH 1010, CSCI 2110, CSCI 2121, CSCI 2132, STAT 2060, MATH 2030, CSCI 3171.
  4. It is recommended but not required that the Computer Science electives should include CSCI 4192: Directed Studies, taken before CSCI 8873.
For students in the UESTC Information Engineering program
Course No. Course Name B H Notes
CSCI 2100 Communication Skills: Oral and Written X X 1,2
CSCI 2112 Discrete Mathematics X X 2
CSCI 2141 Introduction to Database Systems X X
CSCI 3101 Social, Ethical and Professional Issues in Computer Science X X
CSCI 3110 Design and Analysis of Algorithms I X X
CSCI 3120 Operating Systems X X
CSCI 3130 Introduction to Software Engineering X X
CSCI 3136 Principles of Programming Languages X X
CSCI 8873 Honours Thesis X
1 x business, science, or engineering at 2000 level or above X X 2,3
6 x free electives at 2000 level or above
2 x CS elective at 3000 level or above
3 x CS elective at 4000 level or above
X
5 x free electives at 2000 level or above
5 x CS elective at 4000 level or above
X 2,3,4

Notes

  1. Must be taken in term 5 (Fall term of year 3 of the program), or with permission of the Dalhousie Program Manager, in term 7 (Fall term of year 4 of the program).
  2. If a computer science course requires the Dalhousie Writing Requirement or any of the following courses as a prerequisite, that prerequisite will be waived: CSCI 1100, CSCI 1101, MATH 1000, MATH 1010, CSCI 2110, CSCI 2121, CSCI 2132, STAT 2060, MATH 2030, CSCI 3171.
  3. None of the following courses may be chosen as an elective: CSCI 1100, CSCI 1101, MATH 1000, MATH 1010, CSCI 2110, CSCI 2121, CSCI 2132, STAT 2060, MATH 2030, CSCI 3171.
  4. It is recommended but not required that the Computer Science electives should include CSCI 4192: Directed Studies, taken before CSCI 8873.
For students in the UESTC Network Security program
Course No. Course Name B H Notes
CSCI 2100 Communication Skills: Oral and Written X X 1,2
CSCI 2112 Discrete Mathematics X X 2
CSCI 3101 Social, Ethical and Professional Issues in Computer Science X X
CSCI 3110 Design and Analysis of Algorithms I X X
CSCI 3120 Operating Systems X X
CSCI 3130 Introduction to Software Engineering X X
CSCI 3136 Principles of Programming Languages X X
CSCI 8873 Honours Thesis X
1 x business, science, or engineering at 2000 level or above X X 2,3
7 x free elective at 2000 level or above
2 x CS elective at 3000 level or above
3 x CS elective at 4000 level or above
X
6 x free elective at 2000 level or above
5 x CS elective at 4000 level or above
X 2,3,4

Notes

  1. Must be taken in term 5 (Fall term of year 3 of the program), or with permission of the Dalhousie Program Manager, in term 7 (Fall term of year 4 of the program).
  2. If a computer science course requires the Dalhousie Writing Requirement or any of the following courses as a prerequisite, that prerequisite will be waived: CSCI 1100, CSCI 1101, MATH 1000, MATH 1010, CSCI 2110, CSCI 2121, CSCI 2132, STAT 2060, MATH 2030, CSCI 3171.
  3. None of the following courses may be chosen as an elective: CSCI 1100, CSCI 1101, MATH 1000, MATH 1010, CSCI 2110, CSCI 2121, CSCI 2132, STAT 2060, MATH 2030, CSCI 3171.
  4. It is recommended but not required that the Computer Science electives should include CSCI 4192: Directed Studies, taken before CSCI 8873.

Co-operative Education option

Far a student who takes the co-op option, academic terms alternate with work-terms in industry, according to the following schedule. In addition, the student is required to take the non-credit course CSCI 8890: Co-op Seminar during his or her first term at DAL.

Year at DAL Fall Winter Summer
1 Academic
(including CSCI 8890)
Academic Work
2 Academic Work Academic
3 Work Academic

GPA Calculation for admission to DAL

  • Maximum GPA on the DAL scale is 4.3
  • Each UESTC course mark is converted to a DAL GPA according to to the table below.
  • GPA for admission to year 3 at DAL is the average GPA of the courses marked X in the "GPA" column of the table of UESTC courses above, weighted by credit value.
UESTC mark DAL Grade GPA
94 + A+
89-93 A 4.0
83-88 A-
78-82 B+
75-77 B 3.0
72-74 B-
69-71 C+
65-68 C
60-65 D 1.0
0-59 F

English language proficiency requirements

All applicants whose first language is not English must provide proof of English proficiency in the form of results from standard tests. Note that the English language proficiency requirements are subject to change, so it is important that you satisfy the to the Dalhousie portion of Phase 1.

An applicant whose English proficiency score is less than 6.5 on the IELTS scale but at least 6.0 may be provisionally admitted, but required to take before beginning full-time study in the program.

Working while you study and after graduation

Under certain circumstances, the Canadian Government permits international students to

How to Apply

Your application for admission to Phase 1, Year 4 of the program at DAL can be submitted online. To start the application process, you will create a username and password that you can use to return to your application at any time.

The online application system is generic, so although it is quite straightforward, there are some things you need to do that may not be obvious:

  • On the “Select an Application Type” page:
    • choose “Dalhousie Undergrad Group A”
  • On the "Apply for Admissions" page:
    • "Last name" is your family name (usually first in Chinese name order)
    • "First name" is your own name (usually last in Chinese name order)
  • On the "International Information" page
    • Select visa type "Study Permit (Student Visa)”
  • On the "Planned Course of Study" page
    • Select "Visiting Student - Requires Letter of Permission"
    • In the first text box enter:
      • Dalhousie/UESTC 2+2/XX [where XX is CS, NS, IE, ST or AN, indicating your UESTC program of study]
        Computer Science

When you have finished, you will click a link at the end of the process to indicate that your application is complete. You will need to pay the application fee. You will get an email from Dalhousie about the documents required, which will include:

  • English test results. You need to arrange for this to be sent directly to DAL by the English language testing service.
  • Your UESTC transcript (in English). You need to arrange for this to be sent directly to DAL by UESTC.

The university may ask for other documents as well.

For students in the UESTC Computer Science program
Course No. Course Name B H Notes
CSCI 2100 Communication Skills: Oral and Written X X 1,2
CSCI 2141 Introduction to Database Systems X X 2
CSCI 3101 Social, Ethical and Professional Issues in Computer Science X X
CSCI 3110 Design and Analysis of Algorithms I X X
CSCI 3120 Operating Systems X X
CSCI 3130 Introduction to Software Engineering X X
CSCI 3136 Principles of Programming Languages X X
CSCI 8873 Honours Thesis X
1 x business, science, or engineering at 2000 level or above X X 2,3
7 x free electives at 2000 level or above
2 x CS elective at 3000 level or above
3 x CS elective at 4000 level or above
X
6 x free electives at 2000 level or above
5 x CS elective at 4000 level or above
X 2,3,4

Notes

  1. Must be taken in term 5 (Fall term of year 3 of the program), or with permission of the Dalhousie Program Manager, in term 7 (Fall term of year 4 of the program).
  2. If a computer science course requires the Dalhousie Writing Requirement or any of the following courses as a prerequisite, that prerequisite will be waived: CSCI 1100, CSCI 1101, MATH 1000, MATH 1010, CSCI 2110, CSCI 2121, CSCI 2132, STAT 2060, MATH 2030, CSCI 3171.
  3. None of the following courses may be chosen as an elective: CSCI 1100, CSCI 1101, MATH 1000, MATH 1010, CSCI 2110, CSCI 2121, CSCI 2132, STAT 2060, MATH 2030, CSCI 3171.
  4. It is recommended but not required that the Computer Science electives should include CSCI 4192: Directed Studies, taken before CSCI 8873.
For students in the UESTC Software Technology program and Animation program
Course No. Course Name B H Notes
CSCI 2100 Communication Skills: Oral and Written X X 1,2
CSCI 3101 Social, Ethical and Professional Issues in Computer Science X X 2
CSCI 3110 Design and Analysis of Algorithms I X X
CSCI 3120 Operating Systems X X
CSCI 3130 Introduction to Software Engineering X X
CSCI 3136 Principles of Programming Languages X X
CSCI 8873 Honours Thesis X
1 x business, science, or engineering at 2000 level or above X X 2,3
8 x free elective at 2000 level or above
2 x CS elective at 3000 level or above
3 x CS elective at 4000 level or above
X
7 x free elective at 2000 level or above
5 x CS elective at 4000 level or above
X 2,3,4

Notes

  1. Must be taken in term 5 (Fall term of year 3 of the program), or with permission of the Dalhousie Program Manager, in term 7 (Fall term of year 4 of the program).
  2. If a computer science course requires the Dalhousie Writing Requirement or any of the following courses as a prerequisite, that prerequisite will be waived: CSCI 1100, CSCI 1101, MATH 1000, MATH 1010, CSCI 2110, CSCI 2121, CSCI 2132, STAT 2060, MATH 2030, CSCI 3171.
  3. None of the following courses may be chosen as an elective: CSCI 1100, CSCI 1101, MATH 1000, MATH 1010, CSCI 2110, CSCI 2121, CSCI 2132, STAT 2060, MATH 2030, CSCI 3171.
  4. It is recommended but not required that the Computer Science electives should include CSCI 4192: Directed Studies, taken before CSCI 8873.
For students in the UESTC Information Engineering program
Course No. Course Name B H Notes
CSCI 2100 Communication Skills: Oral and Written X X 1,2
CSCI 2112 Discrete Mathematics X X 2
CSCI 2141 Introduction to Database Systems X X
CSCI 3101 Social, Ethical and Professional Issues in Computer Science X X
CSCI 3110 Design and Analysis of Algorithms I X X
CSCI 3120 Operating Systems X X
CSCI 3130 Introduction to Software Engineering X X
CSCI 3136 Principles of Programming Languages X X
CSCI 8873 Honours Thesis X
1 x business, science, or engineering at 2000 level or above X X 2,3
6 x free electives at 2000 level or above
2 x CS elective at 3000 level or above
3 x CS elective at 4000 level or above
X
5 x free electives at 2000 level or above
5 x CS elective at 4000 level or above
X 2,3,4

Notes

  1. Must be taken in term 5 (Fall term of year 3 of the program), or with permission of the Dalhousie Program Manager, in term 7 (Fall term of year 4 of the program).
  2. If a computer science course requires the Dalhousie Writing Requirement or any of the following courses as a prerequisite, that prerequisite will be waived: CSCI 1100, CSCI 1101, MATH 1000, MATH 1010, CSCI 2110, CSCI 2121, CSCI 2132, STAT 2060, MATH 2030, CSCI 3171.
  3. None of the following courses may be chosen as an elective: CSCI 1100, CSCI 1101, MATH 1000, MATH 1010, CSCI 2110, CSCI 2121, CSCI 2132, STAT 2060, MATH 2030, CSCI 3171.
  4. It is recommended but not required that the Computer Science electives should include CSCI 4192: Directed Studies, taken before CSCI 8873.
For students in the UESTC Network Security program
Course No. Course Name B H Notes
CSCI 2100 Communication Skills: Oral and Written X X 1,2
CSCI 2112 Discrete Mathematics X X 2
CSCI 3101 Social, Ethical and Professional Issues in Computer Science X X
CSCI 3110 Design and Analysis of Algorithms I X X
CSCI 3120 Operating Systems X X
CSCI 3130 Introduction to Software Engineering X X
CSCI 3136 Principles of Programming Languages X X
CSCI 8873 Honours Thesis X
1 x business, science, or engineering at 2000 level or above X X 2,3
7 x free elective at 2000 level or above
2 x CS elective at 3000 level or above
3 x CS elective at 4000 level or above
X
6 x free elective at 2000 level or above
5 x CS elective at 4000 level or above
X 2,3,4

Notes

  1. Must be taken in term 5 (Fall term of year 3 of the program), or with permission of the Dalhousie Program Manager, in term 7 (Fall term of year 4 of the program).
  2. If a computer science course requires the Dalhousie Writing Requirement or any of the following courses as a prerequisite, that prerequisite will be waived: CSCI 1100, CSCI 1101, MATH 1000, MATH 1010, CSCI 2110, CSCI 2121, CSCI 2132, STAT 2060, MATH 2030, CSCI 3171.
  3. None of the following courses may be chosen as an elective: CSCI 1100, CSCI 1101, MATH 1000, MATH 1010, CSCI 2110, CSCI 2121, CSCI 2132, STAT 2060, MATH 2030, CSCI 3171.
  4. It is recommended but not required that the Computer Science electives should include CSCI 4192: Directed Studies, taken before CSCI 8873.