TORONTO METROPOLITAN UNIVERSITY

Course Outline (F2024)

COE318: Software Systems

Instructor(s)Dr. Truman Yang [Coordinator]
Office: ENG435
Phone: (416) 979-5000 x 554175
Email: cungang@torontomu.ca
Office Hours: By Appointment

Hirad Daneshvar
Office: TBA
Phone: TBA
Email: hirad.daneshvar@torontomu.ca
Office Hours: TBA

Boujemaa Guermazi
Office: Zoom drop-in link: https://torontomu.zoom.us/j/93411886220
Phone: TBA
Email: bguermazi@torontomu.ca
Office Hours: Tuesdays 11 AM - 12 PM

Calendar DescriptionThe course introduces the software development cycle including requirements analysis and specifications, implementation, and testing, inspection and debugging techniques. An object-oriented programming language is used. Decomposition in to classes and modules is examined. The integration of independent modules is explored.
PrerequisitesCHY 102, CPS 188, ELE 202, MTH 240, PCS 211
Antirequisites

None

Corerequisites

None

Compulsory Text(s):
  1. Head First Java, By Kathy Sierra and Bert Bates, Second Edition, February 2005, ISBN: 0-596-00920-8, 720 pages.
Reference Text(s):
  1. Java Software Solutions (Foundation of Program Design), 4th Edition, June 2004.
  2. Object Oriented System Development, by Dennis de Champeaux, Douglas Lea, and Penelope Faure published by Addison Wesley.
  3. Objects first with Java, a practical introduction using BlueJ, by David J. Barnes & Michael Klling, published by Prentice Hall/ Pearson Education, 2004.
Learning Objectives (Indicators)  

At the end of this course, the successful student will be able to:

  1. Anticipates the needs of the project, customizes design processes, analyzes progress, and revises plans as necessary. Produces a design strategy and uses it to guide a design. (4a)
  2. Produces a design strategy and uses it to guide a design. (4c)
  3. Generates solutions for more complex design engineering problems/systems. (4b)
  4. Understands software impacts on environment, people and society. (9b)
  5. Understand the ethical risks of the software development life cycle. Understand software engineering code of ethics and professional practice. (10a)

NOTE:Numbers in parentheses refer to the graduate attributes required by the Canadian Engineering Accreditation Board (CEAB).

Course Organization

3.0 hours of lecture per week for 13 weeks
2.0 hours of lab per week for 12 weeks
0.0 hours of tutorial per week for 12 weeks

Teaching AssistantsTBA
Course Evaluation
Theory
Midterm Exam 30 %
Final Exam 40 %
Laboratory
Labs 30 %
TOTAL:100 %

Note: In order for a student to pass a course, a minimum overall course mark of 50% must be obtained. In addition, for courses that have both "Theory and Laboratory" components, the student must pass the Laboratory and Theory portions separately by achieving a minimum of 50% in the combined Laboratory components and 50% in the combined Theory components. Please refer to the "Course Evaluation" section above for details on the Theory and Laboratory components (if applicable).


ExaminationsMultiple-choice and Descriptive/Coding Questions:
 - Midterm exam in Week 7, two hours, closed book (covers Weeks 1-6)
 - Final exam, during exam period, three hours, closed-book (covers Weeks 1-13)
Other Evaluation Information All the Labs have to be done individually.
  Lab assignments should be submitted 24 hours before the beginning of next lab. Late lab assignments will not be accepted and will receive a mark of 0.
  Two week labs carry double weight than one week labs.
Teaching Methods1. In-person lectures with slides.
 2. Notes/slides from the class lectures will be posted on D2L.
 
Other InformationNone

Course Content

Week

Hours

Chapters /
Section

Topic, description

1

3

Software Development Cycle.  Object-Oriented Programming Paradigm.
 (Reference:
 http://en.wikipedia.org/wiki/Software_development_process#Waterfall_development
 http://docs.oracle.com/javase/tutorial/getStarted/index.html)


2

3

Programming Languages.
 Classes and Objects.
 (Reference Chapters 1 and 2)


3

3

Variables
 (Reference Chapter 3)


4

3

Using Classes and Objects
 (Reference Chapters 4 and 10)


5

3

Writing Classes
 (Reference Chapter 5)


6

3

Implementation of Classes
 (Reference Chapter 6)


7

3

Object-Oriented Design
 (Reference Chapter 6)


8

3

Testing technique using JUnit
 (Reference Chapter 6)


9

3

Inheritance
 (Reference Chapter 7 and 9)


10-11

6

Polymorphism
 (Reference Chapter 8)


12-13

6

Exception
 (Reference Chapter 11)


Laboratory(L)/Tutorials(T)/Activity(A) Schedule

Week

L/T/A

Description

2

ENG411/ENG406/ENG310

Introduction - compile and run (Java or C) source code

3

ENG411/ENG406/ENG310

Immutable objects - creating a project with more than one class

4

ENG411/ENG406/ENG310

Linking of objects

5

ENG411/ENG406/ENG310

Arrays and Loops

6-7

ENG411/ENG406/ENG310

Use Array List - performing user input/output

8-9

ENG411/ENG406/ENG310

Write classes - Testing using JUnit: Debug in NetBeans

10-11

ENG411/ENG406/ENG310

Understanding more complex application such as a digital circuit simulator: Using interfaces

University Policies & Important Information

Students are reminded that they are required to adhere to all relevant university policies found in their online course shell in D2L and/or on the Senate website

Refer to the Departmental FAQ page for furhter information on common questions.

Important Resources Available at Toronto Metropolitan University

Accessibility

Academic Accommodation Support

Academic Accommodation Support (AAS) is the university's disability services office. AAS works directly with incoming and returning students looking for help with their academic accommodations. AAS works with any student who requires academic accommodation regardless of program or course load.

Academic Accommodations (for students with disabilities) and Academic Consideration (for students faced with extenuating circumstances that can include short-term health issues) are governed by two different university policies. Learn more about Academic Accommodations versus Academic Consideration and how to access each.

Wellbeing Support

At Toronto Metropolitan University, we recognize that things can come up throughout the term that may interfere with a student’s ability to succeed in their coursework. These circumstances are outside of one’s control and can have a serious impact on physical and mental well-being. Seeking help can be a challenge, especially in those times of crisis.

If you are experiencing a mental health crisis, please call 911 and go to the nearest hospital emergency room. You can also access these outside resources at anytime:

If non-crisis support is needed, you can access these campus resources:

We encourage all Toronto Metropolitan University community members to access available resources to ensure support is reachable. You can find more resources available through the Toronto Metropolitan University Mental Health and Wellbeing website.