==== Instructor & TAs ==== == Instructor == * Bil Tzerpos * Office: Computer Science and Engineering Building, Room 3024 * Office hours: Mondays and Wednesdays, 11:30 - 12:30 * Email: bil@cse.yorku.ca == Teaching Assistants == * Steven Castellucci * Ahmed Sabbir Arif * Office hours: Wednesdays, 17:00 - 18:30, CSEB 1006 Students are welcome to come to the instructors' and TAs' office hours to ask questions about the lecture material or other aspects of the course. ==== Textbook ==== H. Roumani. [[http://www.cse.yorku.ca/~roumani/jba|Java by Abstraction: A Client-View Approach]]. Second edition. Pearson Addison Wesley, Toronto. 2008. This is available in the York University Book Store in York Lanes. If you have the first edition of this textbook, it is reasonable to use it for the course. The difference from the first edition to the second edition is that the errata have been fixed. A list of errata can be found [[http://www.cse.yorku.ca/~roumani/jba/errata.htm|here]], and another list can be found [[http://www.cse.yorku.ca/course_archive/2006-07/W/1020/textbook/errata.html|here]]. **Note**: If you are using the first edition, you should download the software from the second edition. This can be found on the textbook [[http://www.cse.yorku.ca/~roumani/jba|webpage]]. ==== Course Components ==== == Lectures == The lectures consist of presentation and discussion of the course material. One chapter from the textbook is covered each week. Students are encouraged to read the current week's textbook chapter prior to attending the lecture. See the calendar for details. == Labs == Every chapter in the textbook contains a "lab". Students are encouraged to follow the steps in these labs, as they are very helpful for understanding the course material. It is especially important to do so in the first weeks of the course. Labs are optional and are not marked. == eChecks == These are twelve weekly programming assignments that must be completed and submitted electronically. Each assignment contains two eCheck exercises (both eCheck exercises need to be submitted every week). Students receive instant feedback whether their solution passed all the tests. Each eCheck is graded on a pass-fail basis (so all or nothing), and must be completed within a week. The deadline for all eChecks is Sunday at midnight. To learn how to submit eChecks electronically, do the initial self-paced labs of the textbook consulting the {{:guidedtour.pdf|Guided Tour}} for CSE1020 students. The URL of the eCheck server (which you need in order to submit electronically from home) can be found in the guided tour. Students are expected to adhere to the coding style that is given in Appendix C of the textbook. == Lab Tests == There are two lab tests in this course (see Important Dates). These are programming tests conducted in your normal lab session. The lab tests are open book, which means that you are allowed to have the textbook with you, but nothing else. == Written tests == There are also two written tests (midterms) (see Important Dates). They will take place during the normal lecture time. == Final Exam == The final exam consists of two components: a written test, and a lab test. Scheduling for the final exam will be determined by the registrar's office later in the term. The questions of the written part will focus on concepts, not on writing code. The lab test will obviously test you on writing code. == Grading == The weight distribution of the course components is as follows: * 12% : eChecks (1% each) * 13% : Lab test #1 * 13% : Lab test #2 * 13% : Written test #1 * 13% : Written test #2 * 36% : Final exam