TORONTO METROPOLITAN UNIVERSITY

Course Outline (F2025)

COE318: Software Systems

Instructor(s)Dr. Faezeh Ensan [Coordinator]
Office: ENG324
Phone: (416) 979-5000 x 554904
Email: fensan@torontomu.ca
Office Hours: Mondays, 1:30pm - 2:30pm
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 %
In-Class activities (Extra) 5 %
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).


Examinations- Midterm exam in Week 7, closed book (covers Weeks 1-6)
 - Final exam, during exam period, three hours, closed-book (covers Weeks 1-13)
 - There will be 8 in-class activities. By participating and responding to the in-class questions, you can earn up to 5 extra marks.
Other Evaluation Information- All the Labs have to be done individually.
 - Lab assignments are due by 11:59 PM on the day before the next scheduled lab session. Submissions up to 8 hours late will incur a 20% penalty. Assignments submitted more than 8 hours late will not be accepted and will receive a grade of 0.
 
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

2

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)


2-4

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 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

Lab Safety (if applicable)

Students are to strictly adhere and follow:

  1. The Lab Safety information/guidelines posted in the respective labs,
  2. provided in their respective lab handouts, and
  3. instructions provided by the Teaching Assistants/Course instructors/Technical Staff.

During the lab sessions, to avoid tripping hazards, the area around the lab stations should not be surrounded by bags, backpacks etc, students should place their bags, backpacks etc against the walls of the labs and/or away from their lab stations in such a way that it avoids tripping hazards.

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.