Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

DEPARTMENT OF MATHEMATICAL AND COMPUTATIONAL SCIENCES

UNIVERSITY OF TORONTO MISSISSAUGA


CSC207H5F LEC9101
Software Design
Course Outline - Fall 2021
Class Location & Time Mon, 09:00 AM - 11:00 AM
Instructor Ilir Dema
Office Location Virtual
Office Hours MO 16:00-17:00
E-mail Address ilir.dema@mail.utoronto.ca
Course Web Site https://mcs.utm.utoronto.ca/~207/

Co-Instructor Sonya Allin


Office Location Virtual
Office Hours MO 13:00-14:00
E-mail Address s.allin@utoronto.ca

Course Description
An introduction to software design and development concepts, methods, and tools using a statically-typed object-oriented
programming language such as Java. Topics from: version control, build management, unit testing, refactoring, object-oriented
design and development, design patterns, advanced IDE usage, regular expressions, and reflection. Representation of floating-point
numbers and introduction to numerical computation. [24L, 12P]

Prerequisite: 60% in CSC148H5


Exclusion: CSC207H1 or CSCB07H3 (SCI)
Distribution Requirement: SCI

Students who lack a pre/co-requisite can be removed at any time unless they have received an explicit waiver from the department.
The waiver form can be downloaded from here.

Learning Outcomes
Java:

write programs using the imperative core of Java;


signal and recover from errors using Java's exceptions;
construct graphical user interfaces using JavaFX;
write multithreaded code;
use a variety of special Java constructs including anonymous inner classes and "lambdas".

Object Oriented Design:

apply the pillars of object-oriented design: encapsulation, inheritance, and polymorphism; and
identify and use a variety of basic design patterns, including Model-View-Controller, Factory, Iterator, Singleton, Adapter,
and Decorator.
identify objects that will contribute to a program or solution, design those objects, and implement those objects.

Software Design: at the end of the semester, you will be a competent beginning software developer. In particular:

design, implement, and run unit tests;


develop software using an integrated development environment (in our case, Eclipse).
collaborate on and keep track of the development history of code using a version control system* (in our case, Git);
read, understand, and modify code that you did not write;
design and develop libraries for use in other programs;
use libraries in your own programs; and
responsibly incorporate code that you did not use into your own program.

CSC207H5F - Dema, Ilir 2021-09-07 11:22:17 Page 1 of 3


Textbooks and Other Materials
No required text

Assessment and Deadlines


Type Description Due Date Weight
Lab Labs On-going 10%
Class Participation Lecture participation On-going 5%
Assignment Assignment 1 2021-10-22 8%
Term Test Midterm 2021-11-01 15%
Assignment Assignment 2 2021-11-12 10%
Assignment Assignment 3 2021-12-06 12%
Final Exam Final Exam TBA 40%
Total 100%

More Details for Assessment and Deadlines


You must achieve a minimum of 40% on the final exam, failure to do so will result in a maximum mark of 47 for the course.

Penalties for Lateness


1) Labs: No late submissions are accepted.

2) Lecture participation: no late submissions are accepted.

3) Assignments lateness: no late submissions are accepted. Students are allowed to re-submit within 48 hous; the second submission
is graded with 20% penalty. The final assignment mark is computed as the maximum of the mark earned in both submissions. No
late submissions are accepted.

Procedures and Rules


Missed Term Work
Labs and lecture participation: we will wave one lab and/or one lecture participation, so if you miss one lab or one lecture, you may
still get full marks on those.

If you miss the midterm (for a valid reason), its weight will be added to the final.

In case of an emergency that will cause you to miss the midterm or an assignment deadline, please contact the course coordinator
via email within 24 hours of the assignment deadline. In case of illness, you will need to declare your absence on Acorn. For other
emergencies, be prepared to provide other documentation requested by the course coordinator.

Assignments accommodation: The course cordinator will make decision based on your circumstances and push the weight of
missed assignment to the next assignment or final exam (if it is A3). This kind of accommodation can be used for at most one
assignment. There are no other forms of accommodation offered for assignments.

No other acommodation of any kind is offered for labs or lecture participation.

Missed Final Exam


Students who cannot complete their final examination due to illness or other serious causes must file an online petition within 72
hours of the missed examination. Late petitions will NOT be considered. Students must also record their absence on ACORN on
the day of the missed exam or by the day after at the latest. Upon approval of a deferred exam request, a non-refundable fee of $70
is required for each examination approved.

Academic Integrity

CSC207H5F - Dema, Ilir 2021-09-07 11:22:17 Page 2 of 3


Honesty and fairness are fundamental to the University of Toronto’s mission. Plagiarism is a form of academic fraud and is treated
very seriously. The work that you submit must be your own and cannot contain anyone elses work or ideas without proper
attribution. You are expected to read the handout How not to plagiarize (http://www.writing.utoronto.ca/advice/using-sources/how-
not-to-plagiarize) and to be familiar with the Code of behaviour on academic matters, which is linked from the UTM calendar under
the link Codes and policies.

Final Exam Information


Duration: 3 hours
Aids Permitted: Open book (Textbook) - Course website

Additional Information
The term test will be on Nov 1, it lasts two hours, and you can write starting one minute past midnight (00:01 AM Nov 1) ending
one minute before midnight (11:59pm Nov 1). This means if you start the test after 9:59pm Toronto time on Nov 1, you may have
less than two hours to write. The test will take place on Crowdmark. The submission time to Crowdmark will be extra, and it will be
announce shortly before the test.

Assignments 1 and 2 are individual, whereas assignment 3 is group work (small teams 3-4 people, you are responsible to form your
own team).

You may ask for a remark request using the information published on the course website about the specific piece of work you
askign to be remarked. Your remark requests are due one week after the grade for the each item is published (unless otherwise
specified by the course coordinator).

Last Date to drop course from Academic Record and GPA is November 10, 2021.

CSC207H5F - Dema, Ilir 2021-09-07 11:22:17 Page 3 of 3

You might also like