CSC 101 / CPE 101:
Fundamentals of Computer Science 1
| (Prepared for Prof. Scheftic's sections) |
Programming Assignments
General Procedures
The basic process for developing your programming assignments should go like this:
- Read the weekly Lab activity.
- You will have the entire week, in lab, to complete it the lab but....
- You should make sure you have at least read the entire lab before you start on the programming assignment: the programs will often build on the labs, so they are likely to contain tips or instructions that I won't repeat in the Program descriptions.
- Remember: Labs are group activities--you are encouraged to help each other out with those to make sure everyone understands all this background information; but programs are individual assignments--you are expected to complete them entirely on your own!
- Read the weekly Program assignment.
- Read it through completely before you start.
- As with any problem-solving activity, make sure you understand the problem before you begin trying to solve it.
- If necessary, ask for any clarifications you need--the sooner the better.
- Design your original solution.
- Do not start implementing it until you have a complete design.
- Yes, you may later come back and refine your design, but you should still have what you think is a thorough design before you start programming.
- Implement your solution.
- Create the new folders you will need for this task.
- Start your new program file. Use a program template to save yourself some time and typing. Save it in the appropriate folder.
- As you proceed, remember to save your work. Save it often. Save it far more often than you think is reasonable. Train yourself so that, every time you stop for even a moment to think, your fingers automatically type the Save sequence. And then, whenever you're working away and not pausing, still remember to Save your work often. Really often. (The first time you omit any part of this step you will learn why it is so important!)
- Transfer your design to the documentation block at the start of your program. Be as concise as possible, but do provide all relevant details.
- Remember to save your work.
- Begin to code your solution.
- Remember to save your work.
- Test individual components as you complete them, and fix any problems before going on to the next part.
- Remember to save your work.
- When your program is complete, test it thoroughly again.
- Remember to save your work.
- Make any changes needed, based on the results of your testing.
- Remember to save your work.
- When done testing, review the file once more, and clean up the documentation as needed.
- Remember to save your work.
- Reflect on what you have learned.
- What did you learn from the problem? from the solution?
- What did you learn from any difficulties you encountered?
- What unresolved issues or concerns, if any, remain?
- Did you complete the entire task? If not, what prevented you from doing so?
- Decide which of the above should be noted:
- in your personal 101 learning notebook;
- in comments within your program; and/or
- in a separate README file that you will submit with your program file(s).
- Back-up your work to your Central UNIX account.
- In lab, we use WS_FTP. The steps were introduced in Lab #1.
- Elsewhere, you may either:
- Remember to back your work up often: at least once per session. That is, each time you leave the lab, or each time you wind up a session on another computer, back up the work you have done there.
- Remembering to make back-up copies of your work is as important as remembering to save your work often!
Submitting Your Work
The basic process for backing up and for submitting your work should go like this:
- Log in to your Central Unix account to submit your work.
- In lab, we use QVT_term. The steps were reviewed in Lab #2.
- Elsewhere, you may either:
- Use the "handin" tool to submit your programming assignment file(s).
- These steps were introduced in Lab #2, and
- Details of this procedure are also contained in their own pages:
- Remember:
- Programming assignments are due by 11:59 p.m. on their due date, which is listed on the weekly schedule.
- Each student is permitted two "credit days" to be used at your individual discretion: once you have used up your allocated two, there are no more available.
- To use a credit day, you must send email to your instructor before the programming assignment is due.
- Credit days are not prorated. That is, there are no fractional units: a single credit day can be used to buy yourself two minutes or 24 hours.
- Credit days cannot be bartered. That is, they are allocated per student, not per class. You can't use someone else credit days, nor offer yours to someone else.
- Credit days apply only to individual programming assignments. That is, they may not be applied to classroom attendance, labs, quizzes, or exams.
-
Only programs that I can compile successfully in our lab environment will be graded.
- Compiling in your, possibly different, environment is not adequate. Files you submit for grading must compile in the CSc Lab.
- Programs that do compile, but contain errors, may be eligible for partial credit if and only if you make it clear that you are aware of the program's limitations by documenting all problems you know about and the things you have tried, unsuccessfully, to fix them. You may document known errors in either of two ways:
- in the comment block at the top of your program, under a Pending Problems category, or
- in a text-only README file that you submit along with your program, and reference in the Pending Problems section of the program's comment block.
- If you do not document problems, I will assume you are not aware of them, and will grade your work accordingly.
- If you document the problem well, however, you will still be exhibiting an important skill in this field. Thus, you may be eligible for partial credit based on either or both of:
- the relative (lack of) severity of the problem, and
- the extent to which your documentation reflects the actual situation.
Questions or Concerns
Here are a few of the things you can try if you encounter problems in completing these tasks:
- Go back and review: the book, the lab activities, the programming assignment. Maybe there is some key point that you missed.
- Post a query to the class discussion board via your Blackboard account (requires login and password). While you're there, review the comments of others: maybe you'll find that you can help someone else with a problem they are having (and that might even unlock your brain so you can find the solution to your own concern) or you'll find a comment from someone else that'll prove to be useful.
- Visit your professor during her office hours. (Or make an appointment with her to meet at another convenient time.)
Site Navigation Links:
Copyright © 2000
by Carol Scheftic.
All rights reserved.
(Thanks to Professor Phil Nico for assistance in setting up this "handin" process.)
Requests to reuse information from this page should be directed to Carol Scheftic.
Page created 29 September 2000;
last updated
20 January 2001.