|
CSE1020: INTRODUCTION TO COMPUTER
SCIENCE I
Fall 2005
URL: http://www.cs.yorku.ca/course/1020
Department of Computer Science & Engineering, York University
|
Webpages for Section A and B
Shortcuts (alphabetical):
Course Evaluation and Grades
Page,
CSE1020 FAQ,
eCheck and Test Schedule,
Section-Specific Information,
TA Office Hours,
Tests and Final Exam Page
Textbook Errata,
Textbook Web Site
What's New [Check for late-breaking messages, Also check Section-Specific Information]
[PDF Version]
Overview
The course lays the conceptual foundation of object-oriented programming. It covers
delegation and contracts, encapsulation and API programming, aggregation and the
collections framework, inheritance and polymorphism, all from the client's perspective.
It also covers language-specific topics like types, control structures, and exception
handling. The coverage is done within the framework of the software development process
and emphasizes software engineering throughout.
Course Format
This course is conducted in accordance with a
number of policies, which are described in the CSE1020 FAQ
- Lectures [3 hours per week]: Presentation and
discussion of course material. One chapter from the textbook is
covered each week of lecture. Students must read the current week's
textbook chapter prior to attending lecture. Attendance is crucial.
(Attendance is not taken, but students who fail to attend lectures do
so at their own peril.)
One or more sections of the course may be offered, depending on
the term. General course information can be found on this website.
For information specific to a particular section, see the Section-Specific Information.
- Labs (aka "tutorials") [1 hour per week]: Each section
of the course has one or more lab sections, depending on the term.
Students must register for one lab section and attend that particular
lab section.
- Labs attendance is mandatory. Attendance is taken. Labs are used
for working on sample problems or for writing lab tests. See the eCheck and Test Schedule for the
dates of the lab tests. The weight of the lab tests for the final
course grade is given in the Course
Evaluation and Grades Page.
- Labs are conducted in the "Demo" section of the Prism lab
(CSEB1004). For more information about the lab, see
http://www.cs.yorku.ca/csfacilities/undergrad_labs/index.html
- Labs are held at the times indicated in your registration
timetable.
- There are no labs/tutorials in the first week of classes (and/or
before the first lecture).
- There is a Guided Tour of the CSE Computing
Environment [pdf]
Do
this guided tour prior to the first eCheck!!!
- eChecks: [number of hours per week depends on
individual]: These are weekly programming assignments which are
submitted electronically and graded.
- See the eCheck and Test Schedule
for the assigned eChecks and their due dates.
- To learn how to submit electronically, do the self-paced labs L1.1,
L1.2, and L1.3. In order to do L1.1, consult the Guided Tour of
the CSE Computing Environment [pdf]. For the URL of the eCheck server (which you need in order to submit electronically from home), see this pdf document.
- You must adhere to the coding style that is given in Appendix C
[pdf] of the course textbook.
- The weight of the eChecks for the final course grade is given in
the Course Evaluation and Grades Page.
- Self-paced labs [number of hours per week depends on
individual]: These are weekly assignments that require tasks to be done
at a computer. These are provided at the end of each chapter in the
course text. There is one self-paced lab for each week of the course.
You can do these labs on campus or from home (except for Lab
#1, which must be done in Prism). As the name implies, you can do
these labs at your own pace; nevertheless, you are expected to
complete Lab #n during the time that Chapter #n is covered in
lectures. Grades are not given for these labs. However, this course
requires and expects a lot of practice in computer programming, and this is how this practice is accomplished.
- Tests and Final Exam: This course has a number of lab
tests, a number of term tests, and a final exam.
- The weights of the tests and final exam for the final course grade
are given in the Course Evaluation
and Grades Page.
- See the eCheck and Test
Schedule for the dates of the tests. The term tests take place
during lecture. The lab tests take place during labs. The final exam
takes place during the final exam period, at a date and time to be
announced by the registrar's office.
- Examples of and material
related to the tests and final exam can be found on the Tests and Final Exam Page
- Office hours (Instructor's): Students are welcome to come to
the instructor's office hours to ask questions about the lecture
material or other aspects of the course. Students should attend the
office hours of the instructor of the section to which they are
enrolled. Typically one or two hours are offered per week.
Answers to many questions that relate to the course administration
(i.e., not conceptual content) can be found here on this website or in
the syllabii specific to each section. Students should familiarize
themselves first with this material before making use of office hours
for these types of questions. These office hours take place in the
instructor's office. See your section's webpage for details.
- Office hours (TA): One or more hours per week. Students
are welcome to ask the course's teaching assistants questions about
the course content or the weekly eChecks.
The schedule for office hours conducted by the teaching assistants is
posted on this website, in the TA Office Hours page.
These office hours take place in the lab, CSE1002.
Advice
This course requires and expects a lot of practice in computer programming.
In addition to understanding the concepts (via reading and lectures) you
should practice writing and running programs regularly.
To that end, it is
essential that you do the self-paced labs as described above.
Required Materials
- Java By Abstraction A Client-View Approach (First Edition)
by H. Roumani, Addison Wesley (2005)
This is sold by the York book store in York Lanes. It includes the
weekly self-paced lab exercises mentioned above.
The Textbook Web Site.
- [Online resource] The JavaTM 2 Platform Standard Edition 5.0 API Specification [link].
- [Online resource] The TYPE software API Specification.
Distributed with the textbook: "Java By Abstraction: A Client-View
Approach", Pearson Addison Wesley (ISBNs 0-321-22688-7 /
0-321-22689-5). [link].
Additional Resources
- Java Software Solutions (4th Edition)
by J. Lewis and W. Loftus, Addison Wesley (2004)
- Computing Concepts with Java Essentials (3rd Edition)
by Cay Horstmann, John Wiley & Sons, Inc. (2003)
- An Introduction to OOP with Java (3rd Edition)
by C. Wu, McGraw-Hill (2004)
- Your Unix - The Ultimate Guide,
by Sumitabha Das, McGraw-Hill (2001).
- YUCC Handbook,
The York University Computer Club. Email: yucc@cs.yorku.ca
-
Suggested Supplementary Readings
from the references.
- Free, on-line tutorials on the
Java language.
Note
This web site will be updated regularly. It is your responsibility
to make sure you keep up with the updates. All changes in it,
as well as new announcements, will be posted (in reverse chronological
order) in the What's New page.