Curriculum Proposal to SCS Faculty May 2011
This document contains proposed course changes for the 2012/2013 academic year.
Executive Summary
Introduction
Courses to be Eliminated
- COMP 2003
- assembly language => exposure through COMP 2401 and 2405
- digital logic => COMP 1805
- number representation => COMP 1805 and 2401
Courses to be Upgraded
- COMP 2805
- finite automata => COMP 1805
- COMP 3000
- OS fundamentals => COMP 2401
- COMP 3005
- database query languages => COMP 2405
- COMP 3007
- functional languages, closures => COMP 2405
Theory
COMP 1805: Course Title
COMP 2804: Course Title
COMP 3804: Course Title
Software Engineering
COMP 2404: Introduction to Software Engineering
Introduction to object-oriented software development, with emphasis on design and implementation of medium-sized programs. Topics include abstraction, modularity, encapsulation, reusability, and design patterns.
COMP 3004: Object-Oriented Software Engineering
No changes.
Programming
- we already changed 1405 and 1406
- goal is to teach programming through teaching other topics that are central to modern CS: OS, databases, web
COMP 2401: Introduction to Systems Programming
Introduction to programming at the system level, with procedures, primitive data types, and user-defined data structures, designed for B.C.S. students. Topics include: basic OS concepts (including processes), pointers, heap and stack memory allocation and deallocation, system/library calls, signal handling and inter-process communication.
COMP 2405: Internet Application Programming
Old course description
Design and implementation of Internet application programs. Topics include: fundamentals of the Web, introduction to client/server architectures, Internet programming, Web browsers, hypertext links, network programming.
Precludes additional credit for COMP 2005.
Prerequisite: COMP 2401 and COMP 1406.
Restricted to students registered in the B.C.S. program, combined Honours in Computer Science and Mathematics, Honours Computer Mathematics, and Honours Computer Statistics.
Lectures three hours a week.
New course description
An introduction to Internet application development that emphasizes the computer science fundamentals of the technologies underlying web applications. Topics include: scripting and functional languages, language-based virtual machines, database query languages, remote procedure calls over the Internet, and performance and security concerns in modern distributed applications.
Precludes additional credit for COMP 2005.
Prerequisite: COMP 2401.
Restricted to students registered in the B.C.S. program, combined Honours in Computer Science and Mathematics, Honours Computer Mathematics, and Honours Computer Statistics.
Lectures three hours a week along with weekly one-hour tutorials.
Rationale
* learn basics of modern web applications? * basics of dynamic languages o first class functions o functional programming concepts (non-mutability) * basics of databases o data representation o query languages * basics of distributed applications o latency vs. bandwidth o reliability concerns o state vs. stateless