Curriculum Proposal to SCS Faculty May 2011: Difference between revisions
Line 59: | Line 59: | ||
===Rationale=== | ===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 |
Revision as of 14:30, 3 May 2011
This document contains proposed course changes for the 2012/2013 academic year.
Executive Summary
Introduction
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 the Internet application stack: language-based virtual machines, desktop environments, and web applications. Topics: dynamic libraries, scripting and functional languages, interpreters, compilation, databases, remote procedure calls, and performance and security concerns in modern distributed applications.
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 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