600.120 Intermediate Programming [Selinski]
Assignments

 

Listing

Reminder: LATE ASSIGNMENTS ARE NOT ACCEPTED and ASSIGNMENTS THAT DON'T COMPILE GET 0!

Here are your actual assignments. Forbidden links mean the files are not yet ready for public consumption. Due dates are subject to change until the actual assignment is posted.

MIDTERM: in class on Monday 6/17.

General Assignment Requirements


General assignment requirements, style and submission details:

  • Readings: Make sure you do the reading for each week, preferably before lectures and attempting homework.
  • Reflections: Reflect briefly on each program you write, as a comment at either the beginning or end of each main file. Comment on things like: how hard was the program and why? what did you learn from it? where did you need help? how long did it take to complete? what was the best part of the assignment and why? how would you redesign this assignment if you were the teacher? You should have a paragraph of well-written (properly formed English) reflections for each program. These reflections are part of your assignment grades.
  • Style: All files with main must be named according to the assignment number they solve (and part if relevant), such as pg1a.c or pg5.cpp. Other files should be named descriptively. Use a consistent layout style for your programs, as well as recommended naming practices for variables and functions. For C programs, we suggest following Kernighan & Ritchie's style.
  • Identification: You must include a header comment with your name, this course number (600.120), the date, the assignment number, your phone number, Blackboard login, and preferred email address in every source file you write.
  • Compilation: Source code must compile with our standard compilers and options, on the ugrad machines. These are:
    gcc -std=c99 -pedantic -Wall -Wextra -O
    g++ -std=c++98 -pedantic -Wall -Wextra -O 
    
    Remember: you will receive NO credit for programs that do not compile. Use incremental coding to insure that you always have a working program, even though it might be incomplete.
  • Electronic Submission: Submit an electronic copy of all assignment parts on Blackboard, together in one zip file. You may submit on Blackboard multiple times for any assignment - we will only grade the last (most recent) submission unless you request otherwise. You must include all parts for an assignment in each zipped submission attempt. If you need to explain anything in general about an assignment, include a README plain text file with your submission.
  • Deadlines: Assignments will be due at 9am on the due date. There is a 1/2 hour grace period for program submission from 9-9:30. If you submit in this timeframe, you will get a standard 5 point late penalty, even if it is only 10 seconds late. After the grace period, programs will not be accepted and you will receive no credit. Exceptions will be given only for illness, and only by Joanne.
  • Printouts: Submit a printout of all your original program source files (C code, not the program output) for each assignment part when you come to class on the due date. You must staple together all the printouts for each assignment.
  • Ethics: Assignments will be individual unless otherwise noted. Remember that you may use or adapt code from your texts and lectures, but you MUST include a comment to cite the original source. You may not use code from other sources. This not a research course, it is a skills development course.