Our Computing Science pathway is ideal for students interested in programming, scripting, robotics, web design, and video game design.
PLEASE NOTE: Each course listed below is worth one credit. Students complete at least 3 of these courses in a semester (earning a total of three credits) but are most welcome to complete more if they wish.
Introductory
CSE1110: Structured Programming 1
Students are introduced to a general programming environment in which they write simple structured algorithms and programs that input, process and output data, use some of the more basic operators and data types, and follow a sequential flow of control.
- 1 Credit
- Prerequisite: None
CSE1120: Structured Programming 2
Students work with structured programming constructs by adding the selection and iteration program control flow mechanisms to their programming repertoire. They write structured algorithms and programs that use blocks to introduce an element of modularity into their programming practice.
- 1 Credit
- Prerequisite: CSE1110: Structured Programming 1
CSE1210: Client-side Scripting 1
Students are introduced to Internet computing through the use of one or more Web-specific markup languages. As part of this process, students learn how the Web uses markup languages to provide a client-side approach to display static information. Students also learn how to analyze, modify, write and debug algorithms and documents that use a markup language.
- 1 Credit
- Prerequisite: None
CSE1910: CSE Project A
Students develop project design and management skills to extend and enhance competencies and skills in other CTS courses through contexts that are personally relevant.
- 1 Credit
- Prerequisite: None
Intermediate
CSE2110: Procedural Programming 1
Students develop their understanding of the procedural programming paradigm. They move from a structured programming approach in which modules were handled through the use of program blocks to a more formal modular programming approach in which they are handled through subprograms. In the process, students also learn to use a number of new design approaches made possible by the new paradigms. As part of this process, they also learn what types of problems are amenable to modular algorithms and programs.
- 1 Credit
- Prerequisite: CSE1120: Structured Programming 2
CSE2120: Data Structures 1
Students learn how to design code and debug programs that use a set of data structures that can be used to handle lists of related data. Building on their knowledge of basic or primitive data types, they learn how to work with fundamental data structures such as the array and the record. As part of this process, they learn what types of problems benefit from the use of these types of data structures.
- 1 Credit
- Prerequisite: CSE2110: Procedural Programming 1
CSE2130: Files & File Structures 1
Students learn how to design, code and debug programs that use data files to store and retrieve data on secondary storage devices. Building on their knowledge of derived data structures, they learn how to use those structures to organize data for efficient file handling. As part of this process, they learn what types of problems benefit from the use of external files.
- 1 Credit
- Prerequisite: CSE2120: Data Structures 1
CSE2140: Second Language Programming 1
Students who have mastered the basics of one programming language are given the opportunity to learn the basics of another. Designed for students who have learned how to write structured and/or modular programs in a more accessible programming environment, this course gives students an opportunity to develop a similar skill set in a more demanding language. In the process, they have a further opportunity to hone their structured and modular programming skills.
- 1 Credit
- Prerequisite: CSE2110: Procedural Programming 1 or CSE1120: Structured Programming 2
CSE2910: CSE Project B
Students develop project design and management skills to extend and enhance competencies and skills in other CTS courses through contexts that are personally relevant.
- 1 Credit
- Prerequisite: None
CSE3120: Object-oriented Programming 1
Students add to their understanding of programming paradigms by moving from a procedural programming approach, in which modularity is handled through subprograms, to an object-oriented approach, in which it is handled through objects. They learn a simple object-oriented analysis and design approach based on the use of object diagrams and write programs that use objects associated with one another in a client/server relationship.
- 1 Credit
- Prerequisite: CSE2110: Procedural Programming 1
Advanced
CSE3110: Iterative Algorithm 1
Students learn a number of standard iterative data processing algorithms useful for working with data structures such as arrays. These include an iterative version of the binary search, the three basic sorts—exchange (bubble), insertion and selection, and a simple merge. In the process, they learn when and where to apply these algorithms.
- 1 Credit
- Prerequisite: CSE2120: Data Structures 1
CSE3130: Object-oriented Programming 2
Students extend their knowledge of object-oriented programming (OOP). They add to their expertise in object-oriented design by using some of the techniques associated with the UML design approach and to their programming expertise by writing programs that explore association between classes. Students work with abstract classes, developing algorithms that employ the object diagram approach and programs that use templated classes, containment and inheritance to promote reusability.
- 1 Credit
- Prerequisite: CSE3120: Object-oriented Programming 1
CSE3140: Second Language Programming 2
Designed for students who have mastered procedural programming and static data structures in a more accessible programming environment, this course gives students the opportunity to develop a similar skill set in a more demanding language.
- 1 Credit
- Prerequisite: CSE2120: Data Structures 1
CSE3310: Recursive Algorithms 1
Students learn how to use a new program control flow mechanism called recursion. They then use this mechanism to write a number of basic recursive algorithms and programs such as a recursive version of the binary search, the quicksort and the merge sort.
- 1 Credit
- Prerequisite: CSE3110: Iterative Algorithm 1 and CSE3120: Object-oriented Programming 1
CSE3910: CSE Project D
Students develop project design and management skills to extend and enhance competencies and skills in other CTS courses through contexts that are personally relevant.
- 1 Credit
- Prerequisite: None