Course Outline

Course: EECS 1030 3.0 Introduction to Computer Science II
Course Webpage: moodle.yorku.ca and www.eecs.yorku.ca/course/1030
Term: Winter 2015

This course continues the separation of concern theme introduced in EECS 1020. While EECS 1020 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: EECS 1020 3.0 or EECS 1720 3.0
Course Credit Exclusions: ITEC2620 3.0

Course Instructors

Section M

Instructor: Franck van Breugel
Office: Lassonde Building, office 3046
Email: franck@cse.yorku.ca
Office hours: Mondays, 16:30-17:20 and Thursdays, 13:30-14:20 or by appointment

Section Z

Instructor: Burton Ma
Office: Lassonde Building, office 2046
Email: burton@cse.yorku.ca
Office hours: TBA

Time and Location

Section M

Lectures: Lassonde Building, Lecture Hall B, Mondays and Wednesdays, 17:30-19:00
Lab 01: Lassonde Building, labs 1002, 1004 and 1006, Wednesdays, 16:00-17:30
Lab 02: Lassonde Building, labs 1004 and 1006, Wednesdays, 13:00-14:30

Section Z

Lectures: Curtis Lecture Halls, Lecture Hall E, Mondays, Wednesdays and Fridays, 10:30-11:30
Lab 01: Lassonde Building, labs 1002, 1004 and 1006, Thursdays, 14:30-16:00
Lab 02: Lassonde Building, labs 1002, 1004 and 1006, Wednesdays, 14:30-16:00

Labs will be held during the first week of the term. Students should attend the lab for which they are registered.

Learning Outcomes

List of Topics

Below you find a detailed list of topics covered in the course. Items marked with an asterisk (*) may not be covered.

Implementing Static Features

Implementing Non-static Features

Mixing Static and Non-static Features

Implementing Aggregation and Composition

Implementing Inheritance

Implementing Graphical User Interfaces

Recursion

Arrays and Data Structures

Course Text

There is no textbook for this course. Notes will be provided.

For further reading, the textbook "Absolute Java" by Savitch is recommended. The book is available in the Steacie Library.

The book "Java Pocket Guide" by Liguori and the book "Eclipse IDE Pocket Guide" by Burnette might be useful as well.

Evaluation

The final grade of the course will be based on the following items weighted as indicated:
7 labs(2% each)
test 1(2%)
test 2(20%)
test 3(22%)
test 4(22%)
test 5(20%)

Grading: For each lab, students receive a score zero, one or two. For test 1, students receive a score of zero or two. For tests 3 and 4, students receive a score in the interval [0, 22] and for tests 2 and 5 students receive a score in the interval [0, 20]. The final grade for the course is obtained by adding the scores of the labs and tests and converting this total to a letter grade according to the following table.
≥ 90A+
≥ 80A
≥ 75B+
≥ 70B
≥ 65C+
≥ 60C
≥ 55D+
≥ 50D
≥ 40E
< 40F

Missed tests: Students with a documented reason for missing a test, such as illness, compasionate grounds, etc., will have the weight of the missed test shifted to a make up test which will be held during the exam period. This make up test will cover all the material covered in the course.

Academic Honesty

Students may do their labs in groups of arbitrary size. Each group is expected to do their own work. If two or more groups collaborate, they should merge into one group, rather than submitting two very similar solutions. Advanced software tools will be used to detect the copying of code. If one group copies from another group, both groups are academically dishonest.

During tests, students are expected to do their own work. Looking at someone else's work during the test, talking during the test, using aids not permitted (such as a phone) during the test, and impersonation are all examples of academically dishonest behaviour. Students are expected to read the Senate Policy on Academic Honesty.

Additional Information

Academic Integrity: There is an academic integrity website with comprehensive information about academic honesty and how to find resources at York to help improve students' research and writing skills, and cope with University life. Students are expected to review the materials on the Academic Integrity website.

Access/Disability: York University is committed to principles of respect, inclusion and equality of all persons with disabilities across campus. The University provides services for students with disabilities (including physical, medical, learning and psychiatric disabilities) needing accommodation related to teaching and evaluation methods/materials. These services are made available to students in all Faculties and programs at York University.

Students in need of these services are asked to register with disability services as early as possible to ensure that appropriate academic accommodation can be provided with advance notice. You are encouraged to schedule a time early in the term to meet with each professor to discuss your accommodation needs. Please note that registering with disabilities services and discussing your needs with your professors is necessary to avoid any impediment to receiving the necessary academic accommodations to meet your needs.

Additional information is available at the following websites:

Ethics Review Process: York students are subject to the York University Policy for the Ethics Review Process for Research Involving Human Participants. In particular, students proposing to undertake research involving human participants (e.g., interviewing the director of a company or government agency, having students complete a questionnaire, etc.) are required to submit an Application for Ethical Approval of Research Involving Human Participants at least one month before you plan to begin the research. If you are in doubt as to whether this requirement applies to you, contact your Course Director immediately.

Religious Observance Accommodation: York University is committed to respecting the religious beliefs and practices of all members of the community, and making accommodations for observances of special significance to adherents. Should any of the dates specified in this syllabus for an in-class test or examination pose such a conflict for you, contact the course director within the first three weeks of class. Similarly, should an assignment to be completed in a lab, practicum placement, workshop, etc., scheduled later in the term pose such a conflict, contact the course director immediately. Please note that to arrange an alternative date or time for an examination scheduled in the formal examination periods (December and April/May), students must complete an Examination Accommodation Form, which can be obtained from Student Client Services, Student Services Centre or online.

Student Conduct in Academic Situations: Students and instructors are expected to maintain a professional relationship characterized by courtesy and mutual respect. Moreover, it is the responsibility of the instructor to maintain an appropriate academic atmosphere in the classroom and other academic settings, and the responsibility of the student to cooperate in that endeavour. Further, the instructor is the best person to decide, in the first instance, whether such an atmosphere is present in the class. The policy and procedures governing disruptive and/or harassing behaviour by students in academic situations is available online.