||CB 121 (Chemistry Building)
Tuesday and Thursday
between lecture and lab
after lab until 16:00
or by appointment
burton [at] cse [dot] yorku [dot] ca
Students must attend the labs for which they are registered (to avoid having
insufficient computers for students to write the tests).
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.
Prerequisistes: CSE1020 or CSE1720
Course Credit Exclusion: ITEC2620.
Please see the textbook section of the course
3 hours of lectures and 1.5 hours of labs per week.
The labs occur in the Prism teaching laboratories in the Lassonde building.
A typical lab will focus on implementing solutions to programming problems
with some or all of the work submitted at the end of the lab (and and remaining
work submitted at a later date that will be specified during the lab). The
lab problems will be made available at the start of the scheduled lab. The
different lab sections may not necessarily be working on the same problems
The Prism teaching labs use CentOS Linux as the operating system. The Eclipse
IDE is the supported IDE for programming tasks, although students might choose
to use an alternate editor or IDE.
|Labs (8 marked labs):
|Test 1 (written and programming):
|Test 2 (written and programming):
|Exam (written and programming):
Due dates and test dates can be found on the Weekly Calendar.
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.
for further details on the University's grading schemes.
Tests are held in the Prism teaching labs
during the regularly scheduled lab. Tests include both written questions
and programming questions that are adminstered under labtest mode.
Labtest mode is 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. Tests are marked by the
teaching assistants and contribute to the final grade as described above.
The exam will be conducted similarly to the tests with half of the class
writing the written portion of the exam while the other half of the class
writes the programming portion of the exam; after the allotted amount of time
the two halves of the class will switch.
The exam will take place during the scheduled examination period
at the end of term at a time and place determined by the Registrar.
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.