York University

CSE 1030: Introduction to Computer Science II

Winter 2012-13

Department of Computer Science and Engineering

Home

Weekly Calendar

Course Syllabus

Course Policies

Intended Learning Outcomes

Test and Lab Solutions
(see web site for your section)

Useful Links

Section M Web Site

Section Z Web Site



York University

Course Syllabus

Websites

Common site: http://www.cse.yorku.ca/course/1030
Section M: http://www.cse.yorku.ca/~anestis/AnestisToptsis/W13.1030M.html
Section Z: http://www.cse.yorku.ca/course/1030/Z

Instructors

Instructor Lectures Labs Office Hours Contact
Section M Anestis Toptsis    SLH B
MW 17:30-19:00
LAS 1006/1004/1002   
W 19:00-20:30
LAS 3022
anestis [at] cse [dot] yorku [dot] ca
Section Z Burton Ma CLH E
MWF 10:30-11:30   
Lab 1
LAS 1006/1002
R 14:30-16:00

Lab 2
LAS 1006/1004/1002
W 14:30-16:00
T 13:30-16:30
or by appointment   
LAS 2046
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).

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.

Prerequisistes: CSE1020 or CSE1720
Course Credit Exclusion: ITEC2620.

Textbook

Required readings are assigned from the course notes written by Franck van Breugel and Hamzeh Roumani. The course notes are available here.

The recommended textbook is:

Absolute Java, 5th Edition
Walter J Savitch
Addison-Wesley, 2013

The textbook topics do not map exactly onto the topics covered in this course, but it is a good reference for students looking for a different presentation of the material, additional examples and exercise problems, and coverage of topics not discussed in this course. A copy is on reserve in Steacie Science and Engineering Library (call number QA 76.73 J38 S265 2013).

Format

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 each week.

The Prism teaching labs use CentOS Linux as the operating system. The Eclipse IDE is available for programming tasks, although students might choose to use an alternate editor or IDE.

Evaluation

Labs (8 marked labs):   10%
Written midterm:   20%
Programming test 1:   15%
Programming test 2:   15%
Written exam:   40%

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.

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.