Introduction to Computer Science II

COSC1030.03 -- Fall term 1997/98

Please remember to reload this page occasionally since it will be updated frequently and you will want to replace the version in your cache.

Last modified: 1998 January 5, 6:30 pm

Unofficial grades are now available on Ariel, using courseInfo. Note that the course directories have been modified for the Winter term, so you will have to provide several fields in order to determine your mark. Try

        courseInfo 1030 A 1997-98 F

in order to see your grades.

Save paper. Do not blindly print files. Click here to get a Postscript version of this WWW page that prints two logical pages per physical page.



Course Outline

Click here to read the course outline that was handed out in class (in HTML).

Class Times and Locations

Section A  Mon, Wed, Fri 5:30-6:30    121 CCB


COSC 1030 will make use of the Ariel computing facilities in CCB 164. See the WWW page for Ariel for details on fair use of Ariel, hours, and available tools.

Unlike COSC 1020, this course does not have blocks of time in Ariel reserved for you. Therefore, you will have to make use of Ariel's facilities in a first-come first-served manner.

Office Hours:

Monday     3:30 -  4:30  250 CCB  R. Paige
Tuesday   11:30 - 12:30  152 CCB  J. Huang  *starting Oct 6
Wednesday 11:30 - 12:30  152 CCB  J. Huang  *starting Oct 6
Wednesday  3:30 -  4:30  250 CCB  R. Paige

Further office hours for the 1030 course TA will be announced (there will
be more hours the week before an assignment is due).
The TAs in the lab CCB 164 are strictly for 1020 students.

Course Description

This course is a continuation of COSC1020 and covers some of the fundamentals of software development, various data structures (arrays, queues, stacks, trees, lists), and algorithms that use these structures (sorting, searching). An object oriented approach will be introduced. Students will use the Unix operating system with the X Window System.

Required Text:

Suggested Reference:

Useful books:

Extra Reading

This section contains extra reading material that is mentioned in class. Postscript files can be read on Ariel by using ghostview (read the man-page for ghostview for all its options). You can copy the Postscript files to your home directory by holding down left-shift, and right-clicking on the link. You can print these files by using lpr.

These files are also in the course directory, /cs/course/1030. Look in the subdirectory notes.

Suggested Reading

Each week, readings from the textbook will be suggested. You are advised to go over the material carefully, since it will be fair game for assignments and tests. Also, by reading the material in advance of it being covered in lecture, you will be better prepared to listen in lecture, and to ask questions.

Please note that the reading list from 1996/97 is NOT the same as that for this term; they covered things in a different order. However, you can look at the 1996/97 reading list to get an idea of what might be covered in the future (providing that you can rearrange things in your mind).

Course Goals

Students successfully completing this course should be able to demonstrate the following knowledge and/or skill sets:


There are four assignments, one midterm and a final exam. Each piece of work will receive a letter grade (A+, A, B+, B, C+, C, D+, D, E or F). A final grade will be obtained by weighting the individual pieces of work as shown in the following table.

   Work            Date       Weight   Topic

Assignment 1    Mon, Sep 29      7%   Testing and ADTs
Assignment 2    Mon, Oct 20     10%   Pointers and classes
Midterm Test    Mon, Oct 27     25%   (50 minutes, in class)
Assignment 3    Mon, Nov 10      8%   Stacks and theory
Assignment 4    Fri, Dec  5     10%   Trees, pointers, recursion
Final Exam     after Dec  8     40%   Entire Course
NOTE: You must obtain a weighted GPA of 2.0 on each component of the course (exams and assignments) to pass the course. That is, you must obtain a weighted GPA of >= 2.00 on the assignments and you must obtain a weighted GPA of >= 2.00 on the exams to pass the course.

A grades list, updated November 18, 1997, is now available through the courseInfo command. Log into Ariel, and type the command

       courseInfo 1030 A

which will output only your list of marks for COSC 1030, Section A. You cannot see any marks but your own using courseInfo. Note that you can view your marks ONLY while logged into Ariel.

If you find any mistakes in your marks list, please contact the instructor, and make available all the original marked material. If you find that you cannot see your marks, try again to make sure that you haven't made a mistake in typing. Otherwise, contact the instructor.

The following York University standard letter grade system will be used.

  Grade    Definition       Point Value

     A+    Exceptional           9
     A     Excellent             8
     B+    Very Good             7
     B     Good                  6
     C+    Competent             5
     C     Fairly Competent      4
     D+    Passing               3
     D     Barely Passing        2
     E     Marginally Failing    1
     F     Failing               0

Click here to read more details on the meaning of grades.

Important dates

First day of classes:            Monday, September 8
Last day to enrol in the course:         September 20
Last day to drop the course:             November 8
Last day of classes:             Friday, December 5
Examination period:              starts  December 8


Assignments represent your own work. Do not misrepresent another's work as your own; it will be considered academic dishonesty if you do. Some guidelines are given in the ASCII document On Academic Honesty. All students should be familiar with the section on academic honesty in the university calendar. If you have any questions about this please ask your course instructor.

Assignments are to be handed in at the start of class (17:30). Assignments handed in after the start of class, but before the start of the next class, will have two full letter grades deducted (e.g., A becomes C, B+ becomes D+, and C+ or lower becomes F). (The exception to this rule is for Assignment 4, which is due on the last day of class; NO LATE ASSIGNMENT 4s WILL BE ACCEPTED!) After the start of the next class, NO late assignments will be accepted, with the sole exception being if you give your instructor a signed medical note and ask for permission to be late. In this case, you must hand in the medical note and late assignment to your instructor. Please note that events such as last minute printer slowdown or breakdown DO NOT constitute valid excuses for lateness.

Course assignments require you to prepare and hand in reports. These must be readable and, for programming assignments, should be prepared in a manner consistent with the How to do a report as outlined in the laboratory book for COSC1020. If you do not have a copy, please see the course directory /cs/course/1020. The goals for assignments in COSC1030 differ from those in COSC1020, as a result your reports will have a different structure. Follow this link for a general guideline on What is a Report?

We will provide cover sheets for your assignments that you can print. Please include them as the very first page of your report or else you will lose one full letter grade (e.g., A becomes B, C+ becomes D+, and D or lower becomes F). NO BINDERS OR ENVELOPES.

REMEMBER: That in order to receive a passing grade in the course your weighted GPA on each component must be >= 2.00. That is, the weighted GPA on the assignments must be >= 2.00 and the weighted GPA of the midterm and the exam together must be >= 2.00 to pass the course.

Throughout this course and for all assignments the following will be stressed:


Assignment 1: Sets and ADTs

NOTE!: Several students have pointed out two small bugs in the definition of the operations Remove and IsElement in the file sets.t. These have been corrected, and the new version is on the WWW page here, and in the course directory /cs/course/1030/a1 on Ariel.

A solution to Assignment 1 has now been posted.

Assignment 2: Pointers and ADTs

Assignment 3: Theory and Practice

Assignment 4: Trees and Recursion

Reappraising Assignments

If you would like to have an assignment or exam reappraised you must do so within two weeks of it being returned. Note that the entire assignment or exam will be remarked and that your grade may go up or down as a result of being remarked.

Before resubmitting ask yourself if it is worth the time required by yourself, the TA, and the professor. For example, suppose you want an extra mark on a question that is worth 1/8 of the assignment and the assignment is worth 7.5% of the final mark. Then if you get the extra mark, your final GPA will change by 1/8 * 0.075 = 0.01. More over, last term the marks of only two out of approximately 25 resubmissions were increased. This means that the expected change to your GPA is 1/8 * 0.075 * (2/25) = 0.00075. Be sure, however, to determine how to do better on the next assignment.

In order to resubmit an assignment for remarking, you must fill out this form and hand it in along with your assignment.

Midterm test and Final Examination

REMEMBER: That in order to receive a passing grade in the course your weighted GPA on each component must be >= 2.00. That is, you must obtain a weighted GPA of >= 2.00 on the assignments and you must obtain a weighted GPA of >= 2.00 on the exams to pass the course.

Final Exam

The final exam is scheduled for December 9, 1997 from 3:30-6:30, in Vari Hall A. Click here to see the Registrar's exam time listing for all COSC courses.

The exam for COSC 1030 will be closed book and notes. No aids will be allowed. Questions on the exam will be similar in style to those on the midterm. There will be 10 questions, and you will have 3 hours.

Example Exams

Click here to read about styles of questions for the final exam, and to see some example questions (though do NOT expect only these styles of questions on the final).

The Course Newsgroup

The course newsgroup (york.cs.course.1030) is the first place you should look for course-related announcements and for answers to course-related questions. If you are registered in 1030 you should read the newsgroup regularly.

You may read the course newsgroup using your favorite newsreader. Alternatively, you may use your WWW browser to read the group by clicking on the hypertext reference above. Some WWW browsers, like mosaic, require you to set the environment variable NNTPSERVER before reading newsgroups. If you have trouble reading the course newsgroup using your WWW browser, try this

        setenv NNTPSERVER

before starting your browser. Better yet, add this line to your .cshrc file.

The Course Directory

The course directory lives on the Ariel machines and is: /cs/course/1030. You may find the following subdirectories of interest.

Obtaining OOT Software

NOTE: the Computer Science Department and in particular the people in 126 CCB do not provide technical support for versions of Object Oriented Turing (OOT) that run under DOS, Windows, Windows '95 or the MacIntosh Operating System. If you have any problems with your disks, the installation of the software or with the actual software please contact Holt Software Associates Inc.

Holt Software Associates Inc.
203 College St., Suite 305,
Toronto, Ontario, CANADA, M5T 1P9
Phone: (416) 978-6476, 1 (800) 361-8324

Note that the "Computer Science Introductory Handbook" (September, 1995) contains information that should be helpful when installing this software on your machine.

If you purchased the OOT software last term you'll be able to use it for this course. Assignments will be done using OOT.

You can purchase Object Oriented Turing (OOT) at a special price of $35.00 (for disks only). You must know which version you will need BEFORE you purchase your software and after you have puchased your disks you should not bother the people who sold you the disks all problems should be directed to Holt Software Associates.

There are three versions of OOT available:

The software can be purchased in CCB 126 during the first two weeks of classes (starting Sept 8, through Sept 19) and during the following times only:

Other Computer Science Courses