ECE 264 Advanced C Programming Spring 2011
|
Section 001 |
Section 002 |
Lectures |
830-920 WF
WETH 320
|
830-920 TTh
ME 255
|
Instructor |
Yung-Hsiang Lu
Office Hours:
930-1030 WRF, MSEE 222.
Open-door policy.

|
Niklas Elmqvist
Office Hours:
930-1030 MT, MSEE 270.
Open-door policy.

|
Teaching Assistant |
Askia Hill
Office Hours:
WR 1 pm - 3 pm, EE306
F 9:30am -10:30am, EE306

|
Jad Hbeika
Office Hours:
T 9:30am - 11:30am, EE306
W 11:30am - 1:30pm, EE306

|
Important Dates
Exams (open book, open note) |
02/16 W |
630-730PM MTHW 210 Exam 1 |
03/09 W |
630-730PM MTHW 210 Exam 2 |
04/13 W |
630-730PM MTHW 210 Exam 3 |
04/21 R |
630-730PM EE 129 for passing outcomes |
05/05 R |
8-10AM EE 270 Final exam |
Individual Programming Assignments 11AM |
02/12 R |
PA1-1 Maze Traversal |
02/17 R |
PA1-2 Maze Traversal |
03/11 F |
PA2-1 Rectangle Packing |
03/24 R |
PA2-2 Rectangle Packing |
03/31 R |
PA2-3 Rectangle Packing |
04/07 R |
PA3-1 Blokus Pieces |
04/14 R |
PA3-2 Blokus Pieces |
04/21 R |
PA3-3 Blokus Pieces |
04/28 R |
PA3-4 Blokus Pieces |
Exercises 11AM |
02/04* F |
Ex1 Programming Environment |
02/04* F |
Ex2 Makefile |
02/28 R |
Ex3 Debugger |
03/03 R |
Ex4 Test Coverage |
*Please notice that the first two exercises are due on the same day. |
You can watch these video lectures to know some basic concepts about C. The lectures include how to write programs using Eclipse and debug using DDD, as well as installing Linux inside Windows using Virtualbox.
Textbook
A Book on C by Kelley and Pohl .
We will not follow any particular book. You have to attend lectures.
Course Outcomes
A student who successfully fulfills the course requirements will have demonstrated:
-
an ability to read and write C programs that use files. [1,4;a,b,c,e,k]
-
an ability to read and write C programs that use structures. [1,4;a,b,c,e,k]
-
an ability to read and write C programs that use dynamic data structures. [1,4;a,b,c,e,k]
Outcomes may be passed by exams 1-4. No outcome will be tested in the final exam. Passing all outcomes is a necessary (but not sufficient) condition to receive a passing grade (A - D).
Grading
-
3 midterm exams, 15 points each.
-
1 final exam, 21 points.
-
3 individual programming assignments, 10 points each. Each assignment is divided into two stages. You must start doing the assignments early. It is impossible for you to finish an assignment within one day. Do not procrastinate.
-
4 exercises, 1 point each.
-
10 points for quizzes and attendances. Each attendance or quiz is 0.5 point. Each visit to the instructor's office is equivalent to attending 2 lectures.
-
up to 5 bonus points. In the final exam, you will be asked to explain how many bonus points you should receive. There are many ways to receive bonus points. For example, you receive 0.5 bonus point by scribing one lecture and post it at Rhea. You can also receive bonus points by doing additional work in programming assignments.
The total score is 110 (115 including bonus points). Regrading is requested by sending email to the instructor. Please explain clearly why you deserve more points. If you request regrading a programming assignment, please check your submission first. Submitting wrong files is a common mistake. Your grade is determined by what you actually submit, not what you intend to submit. Neither the instructor nor the teaching assistant can modify anything you submit. If your submitted files contain syntax errors, you will receive zero in that assignment.
Letter Grades
Grade |
Total Score |
Programming Assignments |
A |
>= 90 |
>= 15 |
B |
>= 80 |
>= 15 |
C |
>= 70 |
>= 10 |
D |
>= 60 |
>= 10 |
F |
below 60, or programming assignments below 10, or fail any outcome |
Your total score will be rounded up to the smallest integer (for example, 72.1 becomes 73). If the highest score in the class is below 100 (very unlikely), the highest score is adjusted to 100 and everyone else's score is adjusted proportionally .
There are many opportunities to receive bonus points. Therefore, the instructors will not "bump up" your grade. If you get 78.9 (round up to 79), you will receive B. It is your responsibility for getting the grade you want and deserve.
Late Policy
Each programming assignment or exercise is due at 11AM. You must submit through this web site. You can submit up to 10 times before the deadline and the highest score is used. If your score does not improve after five submissions, you should talk to the instructors or the TAs. You will receive a grade report soon after each submission. Since you can submit multiple times and receive grade reports, the deadlines are firm and you will receive zero if your submission is late. You are encouraged to submit once 24 hours in advance to receive some points.
If Purdue cancels classes or the submission server is down on the due day, the deadline is extended until classes are resumed.
Policy for Campus Emergencies
In the event of a major campus emergency, course requirements, deadlines, exams, attendance requirements, and grading percentages are subject to changes that may be necessitated by a revised semester calendar or other circumstances. Information about changes in this course can be received from the course website or by contacting the instructors by email or office phone. If you feel attending lectures would be unsafe, please stay home.
Policy Handling Dishonest Behavior
You will receive F in this class if you cheat. Your case will always be reported to ECE main office. There is no exception. If you help a student cheat (such as giving your code), you will also receive F. If you want to help a classmate, tell the person to talk to the instructor or the teaching assistants. You are responsible protecting your assignments. Do not leave a computer unattended. Do not throw away the printout of your programs.
Do not copy code from your classmates or from the Internet.
You must understand that you cannot cheat forever. If you cheat, you will get caught, sooner or later.
You are allowed to use the code given to you by the instructor or generated snippets using the tools approved by the instructor. You are not allowed to download code from the Internet and claim the code as yours. If you discover useful code, you must (1) announce the code in Blackboad Discussion so that everyone in the class is aware of the code or (2) request the instructor's written approval or (3) describe with sufficient details where the code comes from and how you use it in your README file. You must request the code owner's permission to use the code and you must cite the source in your submission. You are not allowed to purchase code from, for example, getacoder.com.
There were cases when students claimed they "accidentally" submitted code from the Internet because these students were "studying" the code. In all these cases, the students were considered cheating and received the appropriate penalty. It is not possible to "accidentally" submit the code that is not written by you. If it is your code, you must have spent many hours writing the code. You will treat the code with the greatest care. You will check, double check, and check again before submission. If you have spent so much time on an assignment, you will not accidentally submit wrong code. "Accidentally submitting wrong code" is an invalid defense and will result in you receiving F in this class.
You should know that advanced tools are available to check similarities between programs. These tools can detect programs of similar structures, even if you rename variables or change for to while (or many other techniques for disguising copied code). These tools have successfully detected many cheating cases. The very fact that you are considering to cheat indicates your lack of programming skills. Hence, you do not have sufficient knowledge to defeat these similarity checkers. If you need help, instead please talk to the instructors or the teaching assistants, or post your questions in Blackboard Discussion. Do not ask your classmate or anyone that took this course to give code to you. Submissions from multiple semesters will be checked.
You can (and are encouraged to) discuss ideas with your classmates. However, you cannot share code. If you and your classmates write code independently, it is extremely unlikely that you will have similar code, even if you have similar ideas on how to solve the problems.
Students' Comments
-
"Great course I really enjoyed it"
-
"Great professor and great course."
-
"Very nice and helpful"
-
"Great teacher, really knows how to teach the material."
-
"Good course"
-
"Very organized and very good at presenting the information and answering questions. I really enjoy his class."
-
"Great professor, very helpful"
-
"Great job with answering questions and explaining material"
-
"Great professor. Thank you"
-
"Professor was a very good instructor."
-
"Professor makes sure that you understand it."
-
"He explains everything thoroughly"
-
"Very enthusiastic about teaching."
-
"Very good"
|