York U: Redefine the Possible HOME | Current Students | Faculty & Staff | Research link: Future Students, Alumni & Visitors
Search »  
Department of Computer Science and Engineering
Course Calendar
Course Forum

Course Info
Other Resources
Important Dates

Y graphic
CSE 1030 - Introduction to Computer Science II

SC/CSE 1030 3.00 - Introduction to Computer Science II

Section A, Fall 2012

Instructor William Soukoreff
E-Mail: will@cse.yorku.ca
Office: LAS 3026
Office Hours Tuesday 11:30 AM - 1:30 PM, or by appointment
Location: LAS 3026
Lectures Tuesday and Thursday, 2:30 PM - 4:00 PM
Location: LAS C
Section 01:    Tuesday, 5:00 PM - 6:30 PM
Location: LAS 1002 / 1004 / 1006
Section 02:    Thursday, 1:00 PM - 2:30 PM
Location: LAS 1006

This page last updated: November 3, 2012.


Course Information

This course builds on CSE1020 covering class implementation and systems design in object-oriented programming, including composition, inheritance, polymorphism, and exception handling. Other topics include recursion, searching and sorting, and introductory data structures.

Prerequisite: SC/CSE 1020 3.00 or SC/CSE 1720 3.00.
Prior to Fall 2009: Prerequisite: AK/AS/SC/CSE 1020 3.00 or AK/AS/SC/COSC 1020 3.00. or AK/COSC 3501 3.0 or AS/AK/ITEC 2011 3.0.

Degree credit exclusions: AK/AS/SC/COSC 1030 3.00, AP/ITEC 2620 3.00.
Prior to Fall 2009: Course credit exclusions: AK/AS/SC/COSC 1030 3.00, AK/AS/ITEC 2620 3.00.



  • Introduction to Object Oriented Programming
    • Static Features
    • Utility classes
    • Non-Static Features
    • Mixing Static and Non-Static Features
  • Aggregation & Composition
  • Inheritance
    • Class Hierarchy
    • Polymorphism
    • Abstract Classes
    • Interfaces
  • Graphical User Interface
    • MVC
    • Event Driven Programming
  • Arrays
  • Linked Lists
  • Recursion
  • Sorting
  • Algorithm Efficiency


      Work       Time       Date   Weight  

Lab Assignments See Assignments (next section) for details 20%
Midterm In Class Tuesday October 16 20%
Lab Test #1 Lab Sect 01: Tues Oct 16
Sect 02: Thurs Oct 18
Lab Test #2 Lab Sect 01: Tues Nov 27
Sect 02: Thurs Nov 29
Final Exam During Final Exams Thursday, December 6
at 14:00 in LAS C

The Midterm will be held during class time, note that we may hold the midterm in a different classroom if needed, check the Course Announcements. The Final Exam will be held during the final exam time at the end of term.

The Lab Tests will be held during the scheduled Lab times. Note that for the Lab Tests, you must attend the lab section that you are formally enrolled in.

These details may change - watch the Course Announcements webpage for details.



      Assignment       Due Date  

Assignment #1 Friday September 14
Assignment #2 Friday September 21
Assignment #3 Friday September 28
Assignment #4 Friday October 5
Assignment #5 Friday October 26
Assignment #6 Friday November 9
Assignment #7 Friday November 16
Assignment #8 Friday November 23

Assignments are due by 12 noon on the specified date and are to be submitted electronically with the 'submit' command in the undergraduate unix environment (unless otherwise specified).

These details may change - watch the Course Announcements webpage for details.



The Course Text Book: Absolute Java

Absolute Java, 5th Edition
by Walter Savitch

This book is available from the campus book store, and Amazon.ca. You might also find it used at Discount Textbooks. (Note that we do not vouch for any of these booksellers.)

A price comparison is available here.

A copy of the current (5th) edition of the textbook is now available on reserve in the Stacie Science Library under call number: QA 76.73 J38 S265 2013

A copy of the previous edition is also available: QA 76.73 J38 S265 2008 BOOK.


Weekly Readings

Readings are assigned weekly. Readings are assigned from the course text book and from the course notes. You do not need to buy the course notes, links are provided in the table below. Also, the bookstore has a notes package that they are selling for this course, you do not need to buy this either.

The readings will be discussed in class, and material from the readings will appear on exams. Note, however, that the readings from the course textbook do not exactly align with the topics we will be discussing in class (particularly for the first 4 weeks).

The readings schedule follows:

      Week       Week of...       Readings  

#1 September 3 Text: Skim Chapters 1-3
Review what you need to.
#2 September 10 Text: 4.1, 4.2
Course Notes: Chapter 1
#3 September 17 Text: Finish Chapter 4
Course Notes: Chapter 2
#4 September 24 Text: 5.1, 5.2
Course Notes: Chapter 3
#5 October 1 Text: Finish Chapter 5
Course Notes: Chapter 4
#6 October 8 Text: Chapters 7, 8, and 13.1
Course Notes: Chapter 5
#7 October 15 No readings this week!!
#8 October 22 Text: 17, 12.2, and Finish 13
Course Notes: Chapter 6
#9 October 29 Text: Chapters 6 and 9
Course Notes: Chapter 8
#10 November 5 Text: Chapter 15
#11 November 12 Text: Chapter 11
Course Notes: Chapter 7
#12 November 19 No readings this week!!
#13 November 26 No readings this week!!

These details may change - watch the Course Announcements webpage for details.


Online Resources and Useful links

Resources for this Course:

Other Useful Links:


Important Dates

      Date       Event  

September 5 Fall Classes Begin
September 6 First Class for CSE1030
September 19 Last Day to Enrol in Course
October 16 Midterm
October 16 or 18 Lab Test #1
Oct. 31 - Nov. 4 Co-Curricular Days (No Classes!!)
November 9 Last date to drop course without penalty
November 27 or 29 Lab Test #2
November 29 Last Class for CSE1030
December 3 Fall Classes End
December 5 Final Exam Period Starts
December 6 at 14:00 Final Exam - At 14:00 in LAS C
December 21 Final Exam Period Ends

These details may change - watch the Course Announcements webpage for details.


Course Policies

Policies Regarding the Lectures

Attendance at lectures
Students are expected to attend the lectures. Although much of the course information will be posted on the web, additional information will be given during the lectures. Students who skip lectures do so at their own peril!

E-mail to the instructor
This instructor welcomes e-mails from students. Questions from students that are of general interest (and particularly questions regarding the assignments) will be addressed during class time. The subject-line of e-mail addressed to the instructor should contain the phrase "1030", otherwise the e-mail may be mistaken for spam, and overlooked.

Policies Regarding the Lab Assignments

Prism Lab Accounts
All students taking CSE1030 are required to have Prism Lab accounts. You will need a Prism account to be able to submit assignments, receive your marked Lab Assignments and Lab Tests, and to see your grades.

Also note that you must check your e-mail at your Prism accounts often. Important last-minute communications will be sent by e-mail to your Prism accounts. (If you regularly use another account, you may forward your e-mail from your Prism account to your regular account.)

Submission of assignments
Assignments are due by 12 noon on the specified date and are to be submitted electronically with the 'submit' command in the undergraduate unix environment (unless otherwise specified). Late submissions will not be accepted (see 'Late assignments' below).

Your Own Work
The Lab Assignment solutions submitted by eash student must be each individual's own work. Consultations with the instructor, teaching assistants, and among students, are part of the learning process and are encouraged, at the end of all this consultation each student must produce an individual submission rather than a copy (full or partial) of somebody else's work.

Course Forum
Please employ appropriate politeness and decorum when posting on the course forum. Do not post more code than is necessary to ask your question - you may post snippets of Java code on the forum in the context of asking a question. Please do not post whole programs, and do not post assignment solutions (or partial solutions) to the forum.

Late assignments
Late assignments will not be accepted and will receive a zero grade unless arrangements have been made with the instructor prior to the due date. Exceptions to the late policy will be made only under very special circumstances (e.g., serious illness) and only with proper documentation (i.e., a letter from your doctor).

Switching Lab Sections
There are two lab sections for this course:

Section 01 Tuesday, 5:00 PM - 6:30 PM
Location: LAS 1002 / 1004 / 1006
Section 02 Thursday, 1:00 PM - 2:30 PM
Location: LAS 1006

For the weekly Lab Assignments, students may attend either lab section. (This does not apply to the Lab Tests; students must attend the lab section in which they are registered for these.)

Note that we are trying to use only 2 lab rooms for the Tuesday labs, so try not to use LAS1004, except as an overflow room. (There will not be a TA stationed in this room.)

Note that we have more space for the Tuesday lab section (rooms LAS1002, LAS1004, and LAS1006) than we do for the Thursday lab section (we have only LAS1006). So don't just assume that if you skip the Tuesday Lab session, that you will find space in the Thursday Lab Session.

Remote Access
You don't always need to be in the Prism lab to work on your CSE1030 Lab Assignments - you may work from home instead. Working on your own computer may be preferable if the lab is busy, closed, or if you live far from the University. Note, however, that you must be physically present in the Prism lab for Lab Tests.

Software development platform
For the purpose of marking, programming assignments are required to compile and execute in the undergraduate unix environment. No special consideration will be given in cases where software runs properly on other platforms (e.g., at home) yet does not function as expected in the undergraduate lab. It is up to the student to ensure that software developed on other platforms compiles and executes correctly in the undergraduate lab, before submission.

Also note that you may not use the java Type package that you may have used previously in your studies. The Type package is banned from all Lab Assignments and Midterm Tests for CSE1030.

Requests for remarking
Once returned, marked Lab Assignments and Midterm Tests should be reviewed by the students, and any request for remarking should be submitted to the instructor within one week. Requests must be accompanied by a written description of the marking error. Only problems of mark addition or serious marking errors will be considered - remarking requests of a frivolous nature may result in your mark being lowered.

General Policies

Academic Honesty
Students are expected to adhere to the York University Senate Policy on Academic Honesty, and the Department of Computer Science & Engineering Academic Honesty Guidelines

Applicable York University Policies
All members of the York University community are guaranteed rights enshrined in the Senate Policies, including:

Course enrollment
Course enrollment is handled by the Computer Science Undergraduate Office. The instructor can not 'sign students in' to this course.

What Happens During a Midterm Test, or Lab Test?

Unless otherwise noted, all tests are closed-book. Any required APIs will be provided to you. Optionally, you are allowed to bring a non-electronic dictionary. No other aids or devices (e.g., calculators, cellphones, media players) will be permitted. You will write everything in a booklet or answer sheet that will be provided to you. In particular, you may not bring any blank sheets of paper for scratch work. For a Lab Test, you will instead write a program using one of the lab workstations. Note that the Eclipse IDE Environment may not work as expected during Lab Tests.

Seating may be pre-arranged. If so, make sure you sit in the seat assigned to you. No questions are allowed during the test. Answer the questions as best you can. If you believe a question to be ambiguous, write down your interpretation of it and/or any assumptions you make.

For the Midterm Tests and Final Exam, place your photo ID in front of you on the desk so that it can be inspected by the invigilators. A sign-up sheet will be distributed during the test. By signing it, you acknowledge that you are registered in the course and are indeed the owner of the associated ID.

Most importantly, keep your eyes on your own work. At the discretion of the invigilators, students may be asked to move.

The Midterm Exam and Lab Tests are all scheduled during the regularly scheduled class and lab times. All students are expected to attend. For the Lab exams, students must attend the lab section (date and time) in which they are registered.

If you miss the Midterm Exam or one of the Lab Tests:
No make-up tests will be given. If you miss a test for reasons beyond your control, then inform your instructor as soon as possible. Proper documentation will be required. If approved, the weight of the missed test may be distributed to later components of the course.

Missing the Final Exam
The Department's policy on Students missing exams is:

If you miss the Final Exam you must contact your instructor as soon as possible. Failure to do so in a prompt fashion may result in you missing the deferred exam. You must obtain the Deferred Standing Agreement Form from the Registrar's Office. Take the form and the documentation explaining the reason for missing the exam to your instructor as soon as possible. If your reason for missing the final exam is medical in nature, a simple note from a medical doctor would not be sufficient. The medical doctor must complete the Attending Physician's Statement - a standard form that is part of the Petitions Package provided by the Registrar's Office. Your instructor will consider the documented reason for missing the exam, and decide whether or not to grant you deferred standing.

If your instructor grants your request, you will be informed of the deferred exam date. Generally, the deferred exam occurs within a few weeks of the original exam.

If your instructor denies your request, if you contact the instructor after the deferred exam, or if the department does not allow a deferred exam, you must then file a formal petition for deferred standing using the Petition Package forms. If your formal petition is successful, you will typically write an exam with the next regularly scheduled examination for the course.

Your grades will be made available to you throughout the term. All grades distributed during the term 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. Conversion from numeric to letter grade is applied to the overall mark only, using the following departmental standard:

 F   E   D   D+   C   C+   B   B+   A   A+ 
 <40   ≥40   ≥50   ≥55   ≥60   ≥65   ≥70   ≥75   ≥80   ≥90 

Getting Your Grades
Throughout the Fall 2012 term your grades will be made available via the courseInfo command. To check your grades you should login to the Prism lab computers and type courseInfo 1030. Note that these grades are not official until they have been approved by the Department of Computer Science.

graphic rule