SE Course Descriptions
Software Engineering (2009-2010)
Go to course schedules for:
Spring 2009
Fall 2009
- Show Me:
- All Courses
- 200 and up
- 300 and up
- 400 and up
LAB, LEC, SEM (0.25)
SE 101
Introduction to Methods of Software Engineering
An introduction to some of the basic methods and principles used by software engineers, including fundamentals of technical communication, measurement, analysis, and design. Some aspects of the software engineering profession, including standards, safety and intellectual property. Professional development including résumé skills, interview skills, and preparation for co-op terms. [Offered: F]
Prerequisites: Software Engineering students only
SEM (0.0)
SE 102
Seminar
General Seminar [Offered: W]
Prerequisites: Software Engineering students only
LEC, TUT (0.5)
SE 112
Logic and Computation
Formal logic. Proof systems and styles. Rudimentary model theory. Formal models of computation. Logic-based specification. Correctness proofs. Applications in software engineering. [Offered: W]
Prerequisites: MATH 135; Software Engineering students only
LAB, LEC, TUT (0.5)
SE 141
Digital Circuits and Systems
Number systems and information representation. Boolean algebra. Analysis and design of combinational and sequential circuits. Programmable logic devices and memory. Asynchronous sequential circuits. Introduction to hardware description languages. Case study: central processing unit. Labs alternate weeks. [Offered: W]
Prerequisites: Software Engineering students only.
Corequisites: SE 112.
Antirequisites: CS 251, ECE 223
SEM (0.0)
SE 201
Seminar
General Seminar [Offered: F]
Prerequisites: Software Engineering students only
SEM (0.0)
SE 202
Seminar
General Seminar [Offered: S]
Prerequisites: Software Engineering students only
LAB, LEC, TUT (0.5)
SE 240
Algorithms and Data Structures
Design and analysis of data structures and algorithms. Comparison of algorithms on data structures, including operations on sets (balanced search trees, hashing), sorting and priority queues, and graphs. Algorithmic paradigms including greedy algorithms, divide and conquer, dynamic programming, graph exploration, backtracking, and branch and bound. Mathematical analysis of space and time complexity. Overview of NP-completeness. [Offered: S]
Prerequisites: SE 112, STAT 206; Software Engineering students only.
Antirequisites: CS 240, CS 341/CM 339, ECE 250
SEM (0.0)
SE 301
Seminar
General Seminar [Offered: W]
Prerequisites: Software Engineering students only
SEM (0.0)
SE 302
Seminar
General Seminar [Offered: F]
Prerequisites: Software Engineering students only
LAB, LEC, TUT (0.5)
SE 350
Operating Systems
An introduction to the fundamentals of operating system function, and implementation. Topics include concurrency, synchronization, processes, threads, scheduling, memory management, file systems, device management, and security. [Offered: W]
Prerequisites: (CS 240 or SE 240), CS 246, ECE 222; Software Engineering students only.
Antirequisites: CS 350, ECE 254, 354, MTE 241
LAB, LEC, TUT (0.5)
SE 382
Human-computer Interaction
The purpose of this course is to introduce students to the design, implementation, and evaluation of contemporary human-computer interfaces. Topics include user-centered design, psychological considerations, and usability. Emphasis is on practical systems, such as PC-based window/mouse/keyboard systems. Labs alternate weeks. [Offered W]
Prerequisites: CS 246, SE 240; Software Engineering students only.
Antirequisites: CS 349
LEC, PRJ (0.25)
SE 390
Design Project Planning
Prepares students for the software engineering design project in SE 490/491, a significant project covering all major phases of the software engineering lifecycle. Lectures describe expectations and project planning fundamentals. Students form groups, decide on a project concept, complete a project-approval process, and deliver a high-level plan for the project. [Offered: F]
Prerequisites: CS 246, SE 240; Software Engineering students only
SEM (0.0)
SE 401
Seminar
General Seminar [Offered: S]
Prerequisites: Software Engineering students only
SEM (0.0)
SE 402
Seminar
General Seminar. [Offered: W]
Prerequisites: Software Engineering students only
LAB, LEC, TUT (0.5)
SE 463
Software Requirements Specification and Analysis
Introduces students to the requirements definition phase of software development: Models, notations, and processes for software requirements identification, representation, analysis, and validation. Cost estimation from early documents and specifications.
Prerequisites: CS 342 and SE 362; Software Engineering students only.
Antirequisites: CS 445, ECE 451
Notes: Lab is not scheduled and students are expected to find time in open hours to complete their work. Offered: F
LAB, LEC, TUT (0.5)
SE 464
Software Design and Architectures
Introduces students to the design, implementation, and evolution phases of software development. Software design processes, methods, and notation. Implementation of designs. Evolution of designs and implementations. Management of design activities.
Prerequisites: SE 463; Software Engineering students only.
Antirequisites: CS 446, ECE 452
Notes: Lab is not scheduled and students are expected to find time in open hours to complete their work. Offered: S
LAB, LEC, TUT (0.5)
SE 465
Software Testing and Quality Assurance
Introduces students to systematic testing of software systems. Software verification, reviews, metrics, quality assurance, and prediction of software reliability and availability. Related management issues.
Prerequisites: SE 464; Software Engineering students only.
Antirequisites: CS 447, ECE 453
Notes: Lab is not scheduled and students are expected to find time in open hours to complete their work. Offered: W
LEC, PRJ (0.5)
SE 490
Design Project 1
Students undertake a substantial project of their own devising in groups as part of the SE 390/490/491 design project sequence covering all major phases of the software engineering lifecycle. Project groups establish and maintain project control processes, deliver a detailed requirements document, deliver a detailed design, and demonstrate a first iteration prototype. [Offered: S]
Prerequisites: SE 390; Software Engineering students only
LEC, PRJ (0.25)
SE 491
Design Project 2
Final implementation, testing, and communication of the design project started in SE 390. Preparation of a detailed test document. Technical presentations by groups. Final release of the project. Project retrospective. [Offered: W]
Prerequisites: SE 490; Software Engineering students only
LEC (0.5)
SE 498
Advanced Topics in Software Engineering
See the Course Offerings List for topics available. [Offered: As available]
Prerequisites: Level at least 3B Software Engineering
PRJ (0.5)
SE 499
Project
A software engineering project requiring the student to demonstrate initiative an assume responsibility. The student normally proposes his or her own project, which must involve substantial engineering science or engineering design. The student must find a faculty supervisor. A project report is required at the end of the term. Program consent required. [Offered: F, W, S]
Prerequisites: Level at least 4A Software Engineering
Notes: Department Consent Required
