Course Syllabus
Lectures |
Time: |
TR, 7:30 - 9:00 PM |
Location: |
CLH C |
Instructor: |
Steven Castellucci () |
Office Hours: |
TR, 9:00 - 10:00 PM in LAS 2001, or by appointment |
Labs |
Time: |
T, 6:00 - 7:30 PM |
Location: |
LAS 1006 and 1002 |
TAs: |
Natalia, Syed, and Filip |
Description
This course continues the separation of concern theme introduced in CSE1020.
While CSE1020 focuses on the client concern, this course focuses on the concern
of the implementer. Hence, rather than using an API (Application Programming
Interface) to build an application, the student is asked to implement a given
API. Topics include implementing classes (utilities/non-utilities, delegation
within the class definition, documentation and API generation, and implementing
contracts), aggregations (implementing aggregates versus compositions and
implementing collections), inheritance hierarchies (attribute visibility,
overriding methods, abstract classes versus interfaces, inner classes);
generics; building graphical user interfaces with an emphasis on the MVC
(Model-View-Controller) design pattern; recursion; searching and sorting
(including quick and merge sorts); linked lists; and stacks and queues. The
coverage also includes a few design patterns. Three lecture hours and weekly
laboratory sessions.
Lab tests and in-class tests are integral parts of the assessment process in
this course.
Prerequisites: CSE1020 3.0 or CSE1720 3.0
Course Credit Exclusion: ITEC2620 3.0
Required Readings
Required readings are assigned from the course notes written by Franck van
Breugel and Hamzeh Roumani, available here.
The recommended textbook is Absolute Java, 5th Ed. by Walter Savitch.
ISBN: 9780132830317; Publisher: Addison Wesley, 2012. A copy of the textbook is
on reserve at the Stacie Science Library.
Intended Learning Outcomes
A list of intended learning outcomes for this course is available
here.
Evaluation
Academic Honesty Agreement: |
1% |
Grade Forecast 1: |
1% |
Grade Forecast 2: |
1% |
Assignment 0: |
1% |
Assignment 1: |
10% |
Assignment 2: |
10% |
Programming Test 1: |
18% |
Programming Test 2: |
18% |
Midterm Test: |
20% |
Final Exam: |
20% |
Students may view their grades using the ePost
system. All grades distributed via ePost are unoffical and are subject to
review by the Department of Computer Science and Engineering.
A student's final grade will be expressed as a letter grade. Click
here
for further details on the University's grading schemes.
Labtests
Labtests are hands-on programming tests conducted in the Prism teaching
labs during the regularly scheduled lab. A labtest consists of one or more
programming tasks that must be submitted within the allotted time for the lab.
Labtests are conducted in a special test environment within the lab where most
network services have been disabled. Different lab sections can expect to have
different versions of the test. Labtests are marked by the teaching assistants
and contribute to the final grade as described above.
Midterm
The written midterm will take place during the regularly scheduled lecture
(however, the room may be changed). It will consist of a series of
comprehension questions (short answer, multiple choice, and code analysis
questions are all possible). It will not require you to write lengthy fragments
of code. The midterm test is closed book.
Exam
The written exam will take place during the scheduled examination period at
the end of term at a time and place determined by the Registrar. It will
consist of a series of comprehension questions (short answer, multiple choice,
and code analysis questions are all possible). It will not require you to write
lengthy fragments of code. The exam is closed book.
Academic Honesty
Students are expected to understand and follow the guidelines for academic
honesty described in this
document.
Counselling and Disability Services (CDS)
Students requiring accommodation for the written midterm or exam should
follow the normal procedure for accommodated alternative tests and exams.
For labtests, students registered with CDS should contact the instructor
to arrange for accommodated alternative labtests. Do not submit requests for
accommodated labtests through the Registrar's Office.
|