Curriculum Proposal to SCS Faculty May 2011

From Soma-notes
Jump to navigation Jump to search

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
    • processor architectures, interrupts, devices => exposure in COMP 2401
    • multicore => cross-cutting concern

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