EECE 310, Winter Term 2, 2011

This is an past offering of this course. This course has changed considerably. Please see the ECE course guide for the new 310.

Staff Logistics Instructions Topics Lectures Assignments

Course Staff

Instructor: Karthik Pattabiraman (karthikp AT ece DOT ubc DOT ca )

TAs : Frolin Ocariza Jr.(focarizajr AT yahoo DOT com)

Anna Thomas (

Course Logistics

This is a third-year course on software engineering for electrical, computer and software engineering majors. The pre-requisite for this class is CPSC 260 (Object Oriented Programming Design) or equivalent. Students are expected to have strong backgrounds in object oriented and procedural programming. Prior experience with Java is helpful but not required. However, students will be expected to pick up Java on their own for the assignments.Here is a useful reference for learning Java.

What ? When ? Where ?
Lectures Tuesdays and Thursdays (2:00 to 3:30 PM) MCLD 242
Karthik’s Office hours Tuesdays (1:00 PM to 1:45 PM) KAIS 4048
Lab hours Wednesday (5 to 7 PM)/Thursday (11-1PM) MCLD 348

Back to top


  1. All course-related questions must be posted on the website for this course. We will not respond to course questions through email. Please sign up for this class on Piazza.
  2. For all other questions that are specific to your situation, you can email us provided you include EECE310 in your subject. Otherwise, your email may get lost and we will not reply.

Back to top

Topics covered

We will cover the following topics in this course:

  • Modular Development: Procedures, exceptions, data abstractions, iteration and polymorphism
  • Programming in the large: Requirements analysis, writing specifications, concurrent programming, testing and debugging
  • Other activities: Design and evaluation, quality assurance, etc.

The course syllabus is available in here.

Back to top

Lectures and Schedule

Topic covered Date posted Lecture notes Textbook Chapters
Course orientation Jan 5 PPT
Motivation Jan 5 PPTX
Java Objects Jan 10, 12 PPT Chapter 2
Specifications Jan 12, 17 PPT Chaps 3 and 9
Robust Code Jan 24, 26, 31 PPT Chaps 4 and 10
Data Abstractions Feb 7, 9, 14 and 16 PPT Chap 5
Concurrent Programming Mar 6, 8 and 13 PPT
Iteration Abstraction Mar 13, 15 PPT Chapter 6
Type hierarchy Mar 20, 22, 29, 3 PPT Chapter 7
Final review Apr 5 PPTX

Back to top

Assignments and Labs

Note: Labs are not graded, but are meant to help you prepare for the assignments. You are strongly encouraged to try the labs before trying the assignments.

You can find the submission instructions for the assignments here.

Assignment/Lab Date posted Due Date Supporting code
Lab 1 Jan 9 Code
Assignment 1 Jan 16 Feb 1 or 2* Code
Lab 2 Jan 26 None
Assignment 2 Feb 2 Feb 15 or 16* Code
Lab 3 Feb 9 None
Assignment 3 Feb 16 Mar 7 or 8* Code
Lab 4 Mar 1 None
Assignment 4 Mar 8 Mar 21 or 22* Code
Assignment 5 Mar 22 Apr 4 or 5* Code

* The assignment is due on the date on which your lab session falls.

Back to top