Introduction to Computer Science II

COSC1030.03 -- Winter term 1996/97

Deferred examination schedule
Thursday, September 4
9:30am to 12:30pm
Vari Hall, lecture room B

Assignment 2
As you know, we discovered a number of cases of cheating on Ass2. Some of these were pairs of assignments that had been copied from each other. Some of these were assignments that claimed to have produced output, yet whose code clearly does not work. Some of these were obviously copied from the solution set that was circulating. Normally these would all be sent to the Dean Logan. Dean Logan assured me that if we sent these cases to him, he would nail the students quite severely. The strike has added additional complications. Solely because of these complications we have decided not to proceed with formal charges of academic dishonesty. The people involved should be most grateful. We will only give a zero on the assignment. We would like to put out a very strong message that cheating does not pay. One, a fair number of cases get caught. Two, the assignments are designed to teach you the material. If you don't do them, then you are likely to do poorly on the exam and in the rest of your computer science career. Take care 1030 Profs

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

Last modified: 1997 May 15 5pm

Click on the following under lined thing to read about netscape

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

Course Outline

Class Times and Locations

Section M  Mon, Wed, Fri 2:30-3:30    121 CCB
Section N  Tues 3:30-5:30             VH D
           Thurs 3:30-4:30            VH D
Section P  Mon, Wed, Fri 10:30-11:30  121 CCB

Office Hours:

You may see any of the course instructors, not just your section instructor.
Monday     2:30 -  4:30  216 CCB  G. Gotshalks
Monday     1:30 -  2:30  132 CCB  Lawrence Zimerman
Monday     3:30 -  4:30  350 CCB  J. Edmonds (or still in CCB 121)
Tuesday   10:30 - 11:30  220 CCB  T. Brecht       
Tueday     2:30 -  3:30  132 CCB  Minh Nguyen
Wednesday  1:30 -  2:30  132 CCB  Lawrence Zimerman
Wednesday  2:30 -  4:30  216 CCB  G. Gotshalks
Wednesday  3:30 -  4:30  350 CCB  J. Edmonds (or still in CCB 121)
Thursday   2:30 -  3:30  132 CCB  Lawrence Zimerman
Thursday   4:30 -  5:30  220 CCB  T. Brecht  (or still in VH D)
Friday     1:30 -  2:30  132 CCB  Lawrence Zimerman

NOTE: This had to be changed (from 1:30-2:30).

1020 has additional office hours.
The TAs in the lab CCB 164 are strictly for 1020 students.
The TAs in CCB 132 will answer your questions as well.
However, give 1020 students priority.
1020 Office Hours

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

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. The assignments and final examination are common to all sections. The midterm tests will be customized for each section.

   Work            Date         Weight  Topic

Assignment 1  Wed      Jan 22      6%   Testing & Debugging
Assignment 2  Wed      Feb 12      8%   Pointers & classes - sparse matrices
Midterm Test  Wed/Thu  Feb 19/20  20%   (50 minutes)
Assignment 3  Wed      Mar 19      8%   t.b.a
Assignment 4  Wed      Apr  9      8%   t.b.a
Final Exam    after Apr 8         50%    All
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.

Marks will be made available online via the following Unix command. You must choose one of M, N, or P depending upon the section in which you are enrolled.
      courseInfo 1030 [M,N,P]

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

To See More Details

Important dates

First day of classes:            Monday, January 6
Last day to enrol in the course: Saturday, January 18
Last day to drop the course:     Saturday, March 8, 2pm
Good Friday:                     Friday, March 28 -- no classes
Last day of classes:             Monday, April 7


Assignments represent your own individual 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 following document. 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.
On Academic Honesty (ascii)

Assignments are to be deposited by 10:30 a.m. on the due date (a Wednesday) in the boxes marked with COSC 1030 and your instructor's name and section. The boxes are in the north hall of the 1st floor of CCB near room 132CCB.

Assignments that are up to 1 day late (i.e., deposited in the boxes by 10:30 a.m. of the next day) will have two full letter grade deducted (e.g., A becomes C, B+ becomes D+, and C+ or lower becomes F). After Thursday 10:30 a.m. NO late assignments will be accepted with the sole exception 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 typically 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 -- Testing & Debugging

The specification contains links to the cover page, additional notes on testing and to the various files needed for the assignment. The cover page and files needed for the assignment are also in course subdirectory ariel:/cs/course/1030/a1/.

Please do not print out the the files stack1.tu, stack2.tu,, stack.dem. They are short and easily read on the screen. There is no need to study them at great length.

Assignment 2 -- Pointers & Classes

There is a rumour that a solution to A2 is being circulated among the students in the course. Whether or not this is true, the report you hand in will be marked on the assumption that you did the work unless proven otherwise. In this case you will receive valuable feedback about your work in this course. If you submit a report that is not done by you, the feedback will be meaningless and you will have cheated yourself -- you will have no basis on which to know how well you are doing. Furthermore, experience shows that such people, in general, do more poorly on tests and future assignments.

People who do not submit their own work should be aware that academic dishonesty is a serious offense. To avoid a charge of academic dishonesty you need to state clearly what work you copied, what work is derivative, and, if applicable, from where you copied or derived your work. Your assignment will be graded on the basis of how much is your work.

If you do not give appropriate citation and are found guilty of academic dishonesty, the following penalites ensue: (1) a minimum of 10% reduction in the final grade (B -> C+, D-> E, etc.), it could be higher, failure in the course, for example, depending upon the nature of the case; (2) you may not drop the course; (3) a note is put in your student file (for a second offense the penalty is often suspension from York university for 1..2 years, effectively no Canadian university will accept you). In all cases, if academic dishonesty is proven, it would have been better to not hand in the assignment and receive an F, or hand in a partial assignment for a lower grade.

All files are on ariel in /cs/course/1030/a2. Please read the README file. The following are the ASCII program text files for the assignment.

Assignment 3 -- Recursion -- PolyTrees

Assignment 4 -- Recursion -- PolyCircuits

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.

Assignment Sample Solutions

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.

Midterm tests and the final examination are closed book.

Example Exams

The Course Newsgroup

The course newsgroup 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 techincal 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 and during the following times only:

Other Computer Science Courses