University of California, Santa Cruz

Prof. Paulo Franca - Spring 2000

Introduction

Syllabus

Guidelines for labs

Lab sections

Take quiz & check grades

 

Guidelines for Lab Assignments:

How will assignments be graded?

bulletOur lab sections meet in AS-105
bulletThere should be tutors and possibly a TA in most sections. Try to resort to their help as much as you need DURING lab sections.
bulletYou must compile and test your work in one of the Athena UNIX servers.
bulletYou must submit homeworks to the cmps101 class homework locker by the due date.
bulletYou can resubmit your work as many times as you want, but only the last copy will be saved.
bulletIf you resubmit only the files you are resubmitting will be saved, any other files previously submitted will be lost.
bulletIt is a good idea to submit the homework as soon as you have something working and then try to improve later.
bulletThere are NO extensions to the due date. If you are not done, submit "as is" for partial credit. If submitting for partial credit, include a note clearly stating what are the problems with your program. If you do not provide an explanation and your program does not work, you will not receive credit.
bulletEach lab assignment deals with subjects covered up to the previous week of classes.
bulletsubmit your work as soon as you have a working version. You may resubmit better versions later on. ONLY LAST VERSION IS SAVED!
bulletComputer failures are a fact of our lives. The computer works every time, except one time: the time when you need it most.
bulletThere is NO leniency for late work. If you cannot complete your work, submit your partial work and include an explanation of what you did and what you did not accomplish.
bulletUse a readme.txt (use this name) file to communicate with your grader.
bulletUse a standard name HW1, HW2, etc., to name your main make files.

Programming work - General Guidelines

bulletSplit your programs into adequate functions
bulletEach function should fit completely in one computer screen.
bulletEncapsulate using header files and other function files.
bulletUse suggestive names for variables
bulletMake reasonable use of comments. Minimum use of comments is as follows:
bulleteach file must include your name, your username (grades will be reported by username), and what is the purpose of this program.
bulleteach homework should include a readme.txt file (use exactly this name) that you can use to communicate with the grader. Even if you do not have anything to say, you must include this file.
bulleteach function must have an explanation of what it does, what are the arguments, returned values.
bulleteach loop must have an explanation of what it does, unless it is really obvious (what is obvious? I would not take any chances...)
bulletDO NOT issue unnecessary messages specially from within functions.
bulletmessages such as "record inserted", "operation successful" etc, are especially annoying when displayed several times (unless you are debugging). Your functions should be reusable to other applications and, unless absolutely necessary (what is absolutely necessary?), messages should be left to the calling program that is specifically designed to deal with the application.
bulletall functions used to implement the major data types are supposed to be reusable and generic. Therefore, DO NOT perform dialogs with the user from within those functions. Do not ask for input, do not issue messages unless in case of unrecoverable error.
bulletWhen coding a function, think of how else this function can be reused in the future.
bulletfollow the specifications requested in your homework and try to implement the algorithms as much as possible following the textbook directions.

Programming work - Specific Assignments

bulletEach assignment may stress on a specific issue.
bulletMake sure you satisfy whatever is required.