image CPSC 310: Introduction to Software Engineering
(2013/2014 Summer Term 1)



NOTE: About the summer schedule + Forum signup

Please see the google calendar if you'd like to subscribe to the course schedule calendar: here
Overview: CS310 13/14 S1 runs from May 12 to July 11 (with one additional very minor submission due on July 12).
I know it says July 18th on UBC-syllabus website, but it really is July 11/12.
Lectures: run as normal for 13/14 S1 (May 12-June 20)
Exam: The exam is some time during the normal 13/14 S1 exam period (sometime within June 23-27)
Extra time: You will then have two additional weeks for the final project (June 30-July 11), and one day to complete the peer review (due on June 12).
FORUM:Please sign up for the Piazza discussion forum here: PIAZZA FORUM FOR OUR CLASS

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 undergrad-info AT cs DOT ubc DOT ca if you're having trouble registering.)

People

Elisa Baniassad (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

tba

The schedule for TA office hours will soon be available on the DLC page.

Lectures & Labs

Section Day Time Place Instructor
Lecture Monday/Wednesday/Friday 9:30am - 12pm Pharmaceutical Sciences Building room 1201 Elisa
Lab - L0A Wednesdays/Fridays 12:30pm-2:30pm ICCS X350 TBA
Lab - L0B Wednesdays/Fridays 2:30pm-4:30pm ICCS X350 TBA
Lab - L0C Wednesdays/Fridays 5pm-7pm ICCS X350 TBA

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.

There will be no labs in the first week. The first labs start the week of January 13th.

Course Resources

Textbook

There is no required textbook for the course. Lectures, labs and assigned readings will contain all information covered by the exams. You will often 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 sign up here:PIAZZA FORUM FOR OUR CLASS
Please check it daily, 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. In case you need a face-to-face discussion, you can bring you questions regarding the course material, assignments, project and labs to:

Please note that Piazza is a service that is hosted in the United States. (It is a startup that originated at Stanford University.) Some of you may wish to preserve your anonymity on Piazza, so that none of your personal information is stored in the United States. You are free to do this simply by creating a new anonymous email account and joining Piazza using that anonymous email account. (If you already use a gmail, hotmail or other US hosted email account this is essentially moot.) If you do choose to join Piazza with an anonymous account then please send the instructor a private email message stating the anonymous email account you joined with Piazza with. I don't think that you can join the course yourself unless you use a .ubc.ca address, but if you let me know which anonymous address you used to join Piazza, I will add you to the course.

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. In addition, lab attendance is mandatory and you will lose 1% of your overall grade (up to 5%) for each lab that is missed without an acceptable reason (e.g. illness).

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 5% of your grade allocated to participation will be based on in-lecture activities. For some of these activities you will receive credit simply for participating, so in-class attendance is necessary to receive the credit and is highly recommended.

Grade disputes

Posting grades

Grades will be posted regularly via Connect.

Late policy

Assignments will be due at a specific time, typically via handin or in lab. If you are not prepared for a 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. There will not be any extensions.

Examinations

There will be a midterm and a final examination.

Midterm TBA (likely either May 30 or June 2)
Final exam To be scheduled by UBC

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 towards 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. You must also obtain a passing grade on the two major sprints in order to 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. Ethics

General Advice

Accommodation

Academic Conduct

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

Respectful Environment

Everyone involved with CPSC 310 is responsible for understanding and abiding by the University's Respectful Environment Statement.

The Statement of Principle of UBC's Respectful Environment Statement is "The best possible environment for working, learning and living is one in which respect, civility, diversity, opportunity and inclusion are valued. Everyone at the University of British Columbia is expected to conduct themselves in a manner that upholds these principles in all communications and interactions with fellow UBC community members and the public in all University-related settings."