1st Year Course Descriptions
The Computer Science courses at the first-year level are:
Computer Science 025a/b: Computer Science Fundamentals I (for students with background in a structured programming language)
Computer Science 026a/b: Computer Science Fundamentals I (for students in Science who have little or no programming background)
Computer Science 027a/b: Computer Science Fundamentals II
Computer Science 031a/b: Introduction to Computing and Communications Software
Computer Science 032a/b: Information Systems and Design
Computer Science 026a/b -- Computer Science Fundamentals I:
This course provides an introduction to the basic concepts of computer programming and program design. It is intended for students who have little or no experience with computer programming, or for those who feel that Computer Science 025a/b may be too advanced for them. It is aimed at students in the Faculty of Science and those who intend to study Computer Science in senior years.
Object oriented programming skills will be developed using the programming language Java. Topics covered include: the basics of computer architecture, the programming constructs and concepts needed for problem solving (variables, operators, assignment statements, loops, conditional statements, subprograms, parameter passing), principles of algorithm and program development (top-down design, modularity, documentation, object-oriented design), searching and sorting techniques.
Weekly lab exercises provide guided, hands-on experience with programming. Assignments are completed by students on their own time.
Computer Science 025a/b -- Computer Science Fundamentals I:
The intent of this course is to provide an alternative introduction to Computer Science for students who already possess most of the programming skills that Computer Science 026a/b addresses. There is no specific secondary school prerequisite for this course; however, it requires a solid understanding of logical conditions, loops, conditional statements, and the concept of an algorithm, and is aimed at students with background in one of Java, C, C++, Pascal or Turing. Students who are not confident about their programming abilities are advised to take Computer Science 026a/b instead.
Assignments are completed by students on their own time.
Computer Science 025 or 026: Which one should you choose?
Computer Science 027a/b -- Computer Science Fundamentals II:
This course serves as a continuation for both Computer Science 025a/b and 026a/b, and is required for entry into all Computer Science programs. Major emphasis is placed on the organization and manipulation of data; abstract data types such as lists, stacks, queues, and trees are introduced, and various Java implementations of these abstract data types are examined. Object-oriented design principles are emphasized throughout the course. Other topics include sorting, searching, recursion, and the analysis of algorithms.
Assignments are completed by students on their own time.
Computer Science 031a/b -- Introduction to Computing and Communications Software:
This course provides an introduction to computer-based problem solving for personal and business computing environments. Topics that will be introduced are: word processing, spreadsheet applications, database systems, presentation applications, electronic communications (e-mail, networks, the Internet), application design, and computer organization.
CS031a/b can be counted toward a Computer Science degree, provided that it is taken before any 200-level CS course. The skills learned in this course can be of great practical benefit to most university students, regardless of their degree objectives.
Exercises are assigned weekly, to provide hands-on experience with the applications packages and computing concepts studied in the course.
Computer Science 032a/b -- Information Systems and Design:
Computers have become integral parts of doing business. Many companies live or die on the technological choices they make. Even when good technology choices are made, mistakes in understanding the needs of a business or loss of control of development can result in costly system development failures. This course discusses those techniques used to discover the real needs of the corporation, and how to then manage and approach building systems to meet those needs. Students will gain a sense of the roles different people and organizations play in the development process. Planning and management of concepts, personnel, and processes are addressed.
This course also introduces software tools (spreadsheets and databases) useful in the systems design process.
This course is intended primarily for Administrative and Commercial Studies students, and can also count as an Information Systems credit toward chartered accountancy certification.
Also from this web page:
Undergrad Courses
- Course Number Conversion Chart
- First Year Courses
- Second Year Courses
- Third Year Courses
- Fourth Year Courses

