image CPSC 310: Introduction to Software Engineering (2012 Summer)

Course Description & Prerequisites

Introduction to Software Engineering: Specification, design, implementation and maintenance of large, multi-module software systems. Principles, techniques, methodologies and tools for computer aided software engineering (CASE); human-computer interfaces, reactive systems, hardware-software interfaces and distributed applications.

When you complete this course, you will be able to:

Prerequisite

  1. CPSC 210 (Note, CPSC 211 is also an acceptable pre-req although the SSC may display a warning. Please email me if you're having trouble registering.)

People

Meghan Allen (Instructor)

I will also see students outside of scheduled office hours – email me if you would like to schedule an appointment to speak to me. If you send me emails regarding course content, I will post your question on the discussion forum so that other students can see it and my answer.

TAs

Lectures & Labs

Section Day Time Place Instructor
Lecture Tuesday and Thursday 13:00–14:30 DMP 301 Meghan
Lab - L0A Tuesday 15:30–17:30 ICCS 011 Rahul
Lab - L0B Thursday 15:30–17:30 ICCS 011 Nima
Lab - L0C Thursday 9:30–11:30 ICCS 011 Joel

Labs are an important part of this course. Labs will provide you with the practical knowledge and skills required for the completion of your course assignments. Each lab is designed to give you the opportunity to meet and work as a group, and attendance is mandatory.

Each lab session is supervised by a teaching assistant (TA), who will introduce the necessary tools, provide instructions for the projects, answer questions and meet with each group to discuss the progress of the project.

Course Resources

Textbook

There is no required textbook for the course. Lectures, labs and assigned readings will contain all information on the exams. Each week you will be given an assigned reading from an available online resource.

Lecture material

Lecture slides and other material will be posted after lecture on the lectures page.

Piazza forum

The discussion forum is hosted at Piazza.com. The forum is required reading as the instructor and TAs will post important information and updates there. Please check it, as this is the official communication channel in the event of cancelled classes or labs, rescheduled deadlines, and so on. In addition, you are encouraged to post your questions about the course material on the course bulletin board. You are also encouraged to respond to questions for which you know the answer. Participation in the forum is part of your mark. In case you need a face-to-face discussion, you can bring you questions regarding the course material, assignments, project and labs to:

Please join the CS310 group by logging into Piazza with a cs.ubc.ca or ubc.ca email address.

Watch the 2 minute introduction video to learn how Piazza is designed to get you answers fast: video link

Project Resources

See the project page

Evaluation

Your grade in this course will be based on exams, labs, a project and class participation as shown in the table below.

Component Value
Final Exam 40%
Project 35%
Midterm 20%
Participation 5%

To pass this course, you must obtain a 50% overall mark and, in addition, you must:

Students who fail the project or the final exam will be assigned as the final grade in the course the minimum of 45% (an F) and the grade computed using the above formula. (I reserve the right to change the grading formula during the term).

The participation mark is easy to achieve. You will get full marks for good lab attendance; good group participation, as determined by your peers; engaged forum participation; and engaged class participation.

Grade disputes

Posting grades

Grades will be posted regularly via Blackboard.

Late policy

Assignments will be due at a specific time, typically in your lab. If you are not prepared for the lab it makes it very difficult to complete the remainder of the project. Although you will have to complete your assignment so that you can continue working on the project, assignments that are not completed by the due date and time will be worth 0.

Examinations

There will be a midterm and a final examination.

Midterm June 19th, during lecture
Final exam August 2nd, during lecture

Note that I will not re-schedule the final exam if you will be travelling over August 2nd. Do not register for this course if you have travel plans that preclude you from taking the final exam on August 2nd.

Labs and Project

There will be a large, semester-long group project, using an ‘agile-like’ approach. Deliverables will be broken into several milestones, including two major sprints. Assignments will be geared toward the completion of the project.

The submission procedure will be clearly specified in each assignment.

Your projects are group work, but no inter-group communication about projects is permitted unless explicitly noted in the assignment description.

Note that the project is a mandatory component of this course. You must obtain a passing grade in the project in order to pass the course.

Course Objectives

The following is a tentative list of the objectives of this course by topic. When you complete this course, you will be able to:

  1. Process
  2. Requirements
  3. Design
  4. Implementation
  5. Testing
  6. Intellectual Property

General Advice

Accommodation

Academic Conduct

Each student is responsible for understanding and abiding by the University and Departmental policies on academic conduct. Specifically: