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 a past lab, Lab #1 you can click there to see them.
- 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 a past version of Lab #2, you can click to it and see them.
- Elsewhere, you may either:
- Use the "handin" tool to submit your programming assignment file(s).
- Details of this procedure are also contained in their own pages:
- Remember:
- Programming assignments are due as announced in class by Dr. T, normally by 9 p.m. on their due date, which will be listed on the weekly schedule.
-
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.
- Ask others in the class, via email, personally over coffee, etc. Doing your own work does not mean working in total isolation, it just means you finish on your own after you gain sufficient understanding, and you credit others explicitly when they contribute significantly to your own work.
- Visit your professor during his office hours. (Or make an appointment with him to meet at another convenient time.)
Copyright © 2000
by Carol Scheftic.
All rights reserved. Used by permission.
(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
22 June 2001.