Date: Wed, 20 Nov 1996 21:56:52 GMT Server: Apache/1.0.5 Content-type: text/html Content-length: 18646 Last-modified: Tue, 06 Aug 1996 22:17:01 GMT CS 142 Syllabus - Fall '96

CS 142 Syllabus

Fall 1996


HOW TO USE THIS SYLLABUS

This syllabus contains information necessary to succeed in CS 142, specifically:

Suggestion: Write your name and phone number on the front of your syllabus so that, if it gets misplaced, it can be returned readily. The Assignment Check-Off Sheet is the only record of your assignment completions. Don't lose it.


COURSE DESCRIPTION and PROCEDURES

Computer Science 142 is designed for students who intend to major in computer science or in areas having a strong emphasis on computer programming. While no prior knowledge of computers is required, the course is a challenging one and demands self-discipline and hard work of each student.

Although Computer Science 142 is not a new course (it has been offered for many years), the content has undergone extensive revision during the past 3 years. This revision is in response to a new approach to computer programming known as Object-Oriented Programming. Object-Oriented Programming is fast becoming the accepted methodology for the design and development of today's large and complex software systems and products. Because there are not yet text books which emphasize Object-Oriented Programming in a first computer science course, we have written our own text, "A First Course in Object- Oriented Programming." In a sense, our new approach is experimental. Many computer science teachers are skeptical about it. We are cautiously optimistic that we are developing an approach and associated materials that will prove to be effective in providing a foundation for object-oriented program design and development throughout the Computer Science curriculum. We are sure to discover things we will want to change as we gain experience with our new approach. We are anxious to receive constructive feed back from students concerning the text, the programming assignments, the examples, the order and selection of topics, or any aspect of the class.

Many students enrolling in this course have done a little or a lot of programming in Pascal or some other programming language. However, it is unlikely that many students have had experience with Object- Oriented programming. If you have had little or no experience with computers and programming, you may feel yourself at a disadvantage compared to others who have had programming experience. Some students in this situation do well and experience little difficulty, while others experience significant difficulty and frustration. Even some students with programming experience may struggle. We will try very hard to pace the course for beginners and will not let experienced programmers divert our lectures or discussions toward advanced or obscure topics. If you are having trouble understanding the lectures, the reading or the programming assignments, then seek help early and often. TAs in the lab can help you, your instructor can help you, and you can attend a Help section. Help sections for CS 142 are scheduled each semester. Times and locations are posted in the lab. Plan to attend at least one help section each week. A teaching assistant who knows Pascal well will help with design and development of the coming assignment and answer any questions you have.


Lectures

The purpose of class lectures is to lend structure to the class and tie the concepts together. Instructors will also answer questions and elaborate on concepts. However, you have primary responsibility for your education. Other learning resources include weekly help sessions given by lab TA's, the textbook, and the computers with the Borland Pascal programming environment in the lab. Much of your learning will take place in the computer lab.


Texts

In addition to this syllabus, you will need to buy the text: A First Course in Object-Oriented Programming by Theodore A. Norman. This text is not yet published commercially, but is available as a packet in the bookstore.


Grading

Points will be assigned for each program and exam, with programming assignments accounting for 25% of the grade and examinations 75%. Exams, including the final exam, will each count 25% of the final grade. Final grading will then be awarded on a straight percentage basis according to the following scale:


        A       95-100% B-      80.0-83.3%      D+      66.7-70.0%

        A-      90.0-95%        C+      76.7-80.0%      D       63.3-66.7%

        B+      86.7-90.0%      C       73.3-76.7%      D-      60.0-63.3%

        B       83.3-86.7%      C-      70.0-73.3%      E       00.0-60.0%


CS 142 EXAM SCHEDULE Fall 1996

 
EXAM  1         TESTING CENTER         



EXAM  2         TESTING CENTER          



FINAL EXAM      IN THE CLASSROOM       

All tests are Open-Book, Open-Notes.

The Testing Center is in the Heber J. Grant Building (HJGB)

Testing Center hours may vary from semester to semester but are usually similar to the following:


Monday through Thursday         9:00 am to 8:00 PM

Friday                          9:00 am to 5:00 PM

Saturday and Sunday             Closed


For accurate hours call 378-6129

The Testing Center sometimes gets busy and lines form, so go early and allow yourself plenty of time. The doors close 1/2 hour before the closing time.


CS-142 TENTATIVE LECTURE SCHEDULE AND READING OUTLINE


Week    Topics  Text Reading    



1       Algorithms, Computers, RAM Organization, Binary Number System,  Chaps 1 & 2

        Machine Language, Assembly Language, High Level Languages,

        Compilers, Microsoft Windows, the Borland Pascal IDE            



2       Introduction to PASCAL, Objects, Methods, Syntax, The Turtle class      Chap 3

        

3       Variable and Constant Data, Types, Classes, Objects and Variables,      Chap 4

        Variable Declarations, Methods and Operations, Integer Arithmetic, 

        Assignment Statements



4       Flow of Control, Repetition, For Statement, Nested For Loops,   Chap 5

        Method Calls, Function Methods, Conditional Expressions,

        While Statement, Boolean Expressions, Repeat Statement, 

        Conditional Statements, The Turbo Debugger                      1st EXAM



5       Extending Pascal - Inheritance and Writing Methods, Type Declarations,  Chap 6

        Qualification, The Execution of Method Calls, Parameters, Real Arithmetic, 

        Standard Functions, Enumerated Types, Ordinal Types 



6       Strings, Standard String Functions & Procedures, Subscripting Strings,  Chap 7

        String Expressions, Reading String Data from the User, The char Type, 

        Displaying Numbers      



7       Event Driven Programming, Event Loops, Units, Unit INTERFACE PART       Chap 8


        and IMPLEMENTATION PART, Edit Windows



8       Text Files, Files and the file Type, Output Files, Input Files, Sets,   Chap 9

        I/O Errors, The Case Statement, UpCase Standard Function,

        The FileBox Object                      2nd EXAM



9       Defined Subprograms, Programmer Defined Procedures,     Chap 10 

        Value Parameters and Variable Parameters, Parameter Passing, 

        Programmer Defined Functions, Subprogram Call Syntax, 

        Procedure Call Syntax, Function Call Syntax, 

        Communicating with Subprograms Using Global Variables, 

        Nested Subprograms and Scope Rules



10      Arrays, Subrange Types and Array Declarations,  Chap 11

        Two Dimensional Arrays, Anonymous Types and 

        Assignment Compatibility, Anonymous Types and 

        Parameter Compatibility, Models for Arrays,

        For Loops and Arrays



11      Records and Objects, Fields, data members, method members,      Chap 12

        arrays of records



12      Program Design and Development, Top Down, Structured Design,    Chap 13

        Object Oriented Design



13      Fundaments algorithms, searching, Sorting       Chap 14



14&15   Review  FINAL EXAM



LAB AND MATERIALS

LOCATION: 1119 and 1121 TMCB.

HOURS: A schedule will be posted in the lab (1119 TMCB), but typically the hours are 9 a.m. to 10 p.m.

Monday through Friday and 9 a.m. to 5 p.m. on Saturday.

ORIENTATION: Lab orientations will be held in the lab each hour on the hour from 9:00 am through 5:00 PM on Wednesday,, Thursday, , and on Friday,. You must attend one of these orientation sessions so that you will know how the computers work, what the lab procedures are, and how to complete the first lab assignment.

EQUIPMENT: The lab currently has several dozen IBM compatible PC's, linked together to a file server disk system using Novell networking equipment and software.

DISKETTES: You will need at least one double-sided, double-density 3.5" floppy diskette on which to save your programs. Buy one in the Bookstore, better still, buy two, one for a backup copy. You should bring them with you to Orientation, but it is not critical if you don't have them yet. You will, however need them before you do any assignments.

POLICIES: Lab policies change somewhat from semester to semester. You can obtain a current copy of lab policies from any lab assistant. However, the following rules are always in force, and you will be asked to leave if you break any of them:

  1. No accessing, copying or displaying of pornographic material
  2. No food or drink is allowed.
  3. Don't unplug cables or remove computer covers. If you are having problems, get help from a lab assistant.
  4. No games are allowed on the computers at any time.
  5. No word processing.
  6. Lab assistants give first priority to students with assignments to be checked off. If you have a program ready to be signed off, hold up your Syllabus as a signal that you are ready.
  7. No illegal copying of software.

HELP: Help sections for CS 142 are scheduled each semester. Times and locations are posted in the lab. Plan to attend at least one help section each week. A teaching assistant who knows Pascal well will help with design and development of the coming assignment and answer any questions you have. These sessions are very important, they will help you to gain problem solving skills and understand how to write the assigned programs. In the lab, the lab assistants will only check off assignments, answer brief questions about program syntax, and help you in using the computers. TA's will not write your programs for you nor debug your program logic. The whole point of the lab assignments is for you to learn how to do these tasks.


COMMONLY ASKED QUESTIONS

Below are questions that are repeatedly asked about CS 142. If you don't see the answer to your question here, review the previous pages or talk to your instructor or lab assistant.

IS THERE A WAY TO OBTAIN EXTRA CREDIT?

No. If you have time to do extra credit work, you have time to do an assignment correctly.

IS IT OKAY TO STUDY WITH SOMEONE ELSE?

Yes, group study is very helpful for some. However, don't let someone else write your programs for you, or you will be unable to pass the tests.

WHO MAKES UP THE EXAMS? DO INDIVIDUAL TEACHERS DO THAT?

Standard exams are used for all sections of CS 142. The exams closely parallel the programming assignments and text chapter exercises..

WHAT HAPPENS TO MY PROGRAM IF IT IS ONLY PARTIALLY FINISHED AND THE LAB CLOSES, OR I HAVE TO LEAVE? DO I LOSE IT?

You won't lose it if you save it out to your floppy disk. You can then work on it some more next time you're in the lab. It's a good idea to save your program periodically as you work even if you're not going to leave the lab. Some programming errors can cause your work station to hang up so that you must power it off and on to get it working again. When this happens, you lose everything you did since you last did a save. The Borland Pascal IDE provides for automatic periodic saving of the program you are editing. To take advantage of this feature, check the Auto Save Editor Files box of the Preferences dialog under the Environment option of the Options menu.

WHAT IF I DON'T HAVE THE PROGRAM FINISHED BY THE TIME IT IS DUE?

You have ten late days you may use without penalty. Those days could all be used for one assignment, or one day for each of ten assignments, or other combinations. After the late days are used, you will lose a point for each day subsequent assignments are late.

AM I EVER ALLOWED TO PLAY COMPUTER GAMES?

No. Never. Absolutely not. Not even if you're the only person in the lab.

CAN I PLAY AROUND ON THE MACHINE JUST TO SEE HOW TO USE IT?

Yes, by all means do so. Try entering and running the example programs in your text, or modifying your programming assignments once you've passed them off.

WHAT IF I ALREADY HAVE A DISKETTE?

If you have a 3.5 inch disk, fine. If you are using someone else's disk, make absolutely sure that he or she is finished with it, and that the disk is formatted for MS-DOS 2.0 or later. If you're buying your own disk, it should be a double-sided, double-density 3.5" floppy disk. In any case, you still need to purchase two Computer Science Materials Cards for the lab.

WHAT IF I HAVE MY OWN COMPUTER?

The lab is currently using Microsoft Windows and Borland Pascal with Objects 7.0 on IBM compatible PCs. If you want to use your own computer, you should have an IBM PC or compatible (AT&T, Compaq, etc.) and your own copies of Microsoft Windows and Borland Pascal with Objects 7.0. You will also need to get a copy of the CS142 and Turtles units from one of the lab TAs. You must still bring your programs into the lab to pass off.

WHAT IF I HAVE A NON-IBM-COMPATIBLE COMPUTER?

If you have a Pascal compiler on it, you can use it to learn some things about Pascal. But it won't have Windows or the CS142 and Turtles units, so you won't be able to write the programming assignments on it.

WHAT IS THE BEST WAY TO SCHEDULE TIME IN THE LAB? ALL IN A SINGLE BLOCK, OR IN SEPARATE HOURS?

Most people do best if lab hours are spread out through the week, some people get up-tight if they sit very long at a terminal. We recommend that you design and write your programs on paper before going into the lab to enter and debug them.

WILL CLASSES BE HELD THE WEEK OF EXAMS?

Yes, always. And be sure not to miss your exams, plan to take the exams at the times scheduled. Only in rare cases will make-up tests be given.

WHAT CAN I DO IF I NEED MORE HELP?

Three things:

  1. Help sections: a schedule is posted in the lab
  2. See your instructor during his or her office hours. Individual T.A. assistance may be arranged.
  3. Hire a tutor--the Tutoring Service is run by the Student Academics office, and free-lance tutors often advertise on bulletin boards and in the Daily Universe.

CAN I SHARE A DISK WITH SOMEONE?

Not recommended. You need your own disks.

DO THE HELP SECTIONS REALLY HELP?

Yes. They are very useful in helping students understand how to complete Lab assignments. Students who attend usually are very positive in their evaluation of the help sections. One interesting observation: failing students are almost never regular attendees of the help sections.

HOW CAN I GET THE MOST OUT OF THIS CLASS? I FEEL UNCOMFORTABLE IN LARGE CLASSES?

There is no reason to be wary of large classes. Studies show that, unless the class is very small (less than a dozen students), the size of the class has no correlation to the amount of learning that takes place. Much of your learning will take place in the lab anyway. The best way to learn Pascal (or any other programming language) is to write as many programs in it as you can.


Go to:

CS 142 Assignment Check-Off Sheet (Fall 1996)


Go to

Created Aug 17, 1994 ...

Updated Mon Apr 10 15:29:47 1995

by Scott S. McCosh Send comments to (webmaster@www.cs.byu.edu)