TORONTO METROPOLITAN UNIVERSITY

Course Outline (F2023)

COE318: Software Systems

Instructor(s)Hamed Karimi [Coordinator]
Office: Virtually via Zoom Link: https://torontomu.zoom.us/j/98477606159
Phone: TBA
Email: hamed.karimi@torontomu.ca
Office Hours: Mondays, 6pm-7pm
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 Kölling, 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 Assistants     Section#  Day-Time    Room          TA Name                        Email Address
    ----------------------------------------------------------------------------------------------------
  01 Wed. 12pm-2pm ENG406   Behzad Mahaseni          behzad.mahaseni@torontomu.ca
  02 Wed. 10am-12pm ENG406   Behzad Mahaseni          behzad.mahaseni@torontomu.ca
  03 Thu. 10am-12pm ENG406   Hirad Daneshvar          hirad.daneshvar@torontomu.ca
  04 Tue. 8am-10am ENG411   Mohammadmahdi Rastgarjazi      mrastgarjazi@torontomu.ca
  05 Wed. 2pm-4pm ENG406   Hirad Daneshvar          hirad.daneshvar@torontomu.ca
  06 Tue. 8am-10am ENG406   Sarama Shehmir          sarama.shehmir@torontomu.ca
  07 Mon. 8am-10am ENG406   Sarama Shehmir          sarama.shehmir@torontomu.ca
  08 Tue. 2pm-4pm ENG406   Mohammadmahdi Rastgarjazi      mrastgarjazi@torontomu.ca
  09 Mon. 8am-10am ENG411   Abdul Bhutta                  abdul.bhutta@torontomu.ca
  10 Wed. 10am-12pm ENG411    Boujemaa Guermazi          bguermazi@torontomu.ca
  11 Wed. 8am-10am ENG406    Boujemaa Guermazi          bguermazi@torontomu.ca
  12 Mon. 2pm-4pm    ENG406    Mohammadmahdi Rastgarjazi      mrastgarjazi@torontomu.ca
  13 Mon. 10am-12pm ENG411    Sarama Shehmir          sarama.shehmir@torontomu.ca
  14 Mon. 2pm-4pm ENG411    Abdul Bhutta                  abdul.bhutta@torontomu.ca
  15 Mon. 10am-12pm ENG406    Behzad Mahaseni          behzad.mahaseni@torontomu.ca
  16 Tue. 12pm-2pm ENG406    Boujemaa Guermazi          bguermazi@torontomu.ca
  17 Thu. 12pm-2pm ENG406    Hirad Daneshvar          hirad.daneshvar@torontomu.ca
Course Evaluation
Theory
Midterm Exam 30 %
Final Exam 40 %
Laboratory
Lab Reports + Lab Quiz 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, closed book (covers Weeks 1-6)
 - Final exam, during exam period, three hours, closed-book (covers Weeks 1-13)
Other Evaluation InformationNone
Teaching Methods1. In-person lectures with slides and hands-on programming during class.
 2. Notes/slides from the class lectures will be posted on D2L.
 3. Audio/video recordings of the lecture delivery might be posted on D2L occasionally.
 
  
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

3

Exception
 (Reference Chapter 11)


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

Week

L/T/A

Description

2

ENG406/411

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

3

ENG406/411

Immutable objects - creating a project with more than one class

4

ENG406/411

Linking of objects

5

ENG406/411

Arrays and Loops

6-7

ENG406/411

Use Array List - performing user input/output

8-9

ENG406/411

Write classes - Testing using JUnit: Debug in NetBeans

10-11

ENG406/411

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

University Policies

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

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.