EE 209 Programming Structures for Electrical Engineering

Programming Assignments

We will do six programming assignments. The first three programming assignments take up 7.5% of your total grade. The fourth assignment takes up 5% and the fifth assignment takes up 10% of your total grade. And the final assignment counts as 12.5%.

Assignment Submission - Important!

Use KAIST Moodle to submit your assignments. Your submission should be one gzipped tar file whose name is


For example, if your student ID is 20091234, and it is for assignment #3, please name the file as


Late Submission Penalty

Students can use one time late submission (late pass) which can be late up to three days without penalty for one of the first five programming assignments. That is, you can apply your late submission to at most one programming assignment except the final one. You cannot split your late pass among multiple assignments. Beyond the free late days, we will enforce this penalty rule for each assignment. One will get

We will grant extensions only in case of illness(with doctor's note) or extraordinary cicrumstances. In case you are submitting your work late due to illness or extraordinary circumstances, please consult with the instructor as soon as possible. Please plan ahead (travel, religious holidays, etc.) to meet the deadlines. Note that heavy workload is not counted as extraordinary cicrumstances. Once again, there is no late submssion allowed for the final assignment. Any late submission for the final assignment will result in zero credit.

Collaboration Policy

Please refer to the course policy page.

Coding Style

Good coding style will be one criterion for grading each assignment. Please make sure your code has proper indentation and descriptive comments. At the start of each file, please add your name, lab account ID and the description of the file. Make sure not to leak any memory and check and handle every return value of function calls.

Assignment Grading

Your submission will be graded on one of the Lab machines for the course. You are free to use other machines for coding and debugging, but please make sure to compile and test your final version on the Lab machines. In a rare case, library mismatch or O/S stack difference (Solaris vs. Linux) can bypass some of your bugs, but they can actually show up on the Lab machines while grading. In order to avoid this last-minute surprise, please test on Lab machines before submitting your work.

Last Update: