Policies

There is a lot of information on this page including philosophy re why homework is extremely important but is an insignificant percentage of your grade; supplementary texts; the difference between problem sets, programs, and quizzes; grading; the deadline requirement on requesting an alternate final exam time slot; honor code; and the deadline to ensure accommodation for religious observances. I will assume you have read all of this and understand all of it.

Philosophy

Dr. Aaron Bradley is the author of your textbook in ECEN1030. He wrote the following about his educational philosophy. It may help you understand why the text and course are structured the way that they are.

Education is largely a self-directed endeavor. My role is to challenge you and to guide you as you work towards becoming an engineer.

One weakness that we all have as students is an inability to self-assess reliably. Please read the following paper for an eye-opening account of just how poorly we can evaluate our own competence:

Justin Kruger and David Dunning, Unskilled and Unaware of It: How Difficulties in Recognizing One's Own Incompetence Lead to Inflated Self-Assessments, J. of Personality and Social Psychology, v. 77, pp. 1121-1134, 1999.

Of particular interest are the introduction and pages 1124-1125 (34-35 in the linked version). The consequences for this class are twofold. First, I expect that you will use the numerous assessments before the final exam as an indicator of competence. If your scores are ever lower than you desire, please act accordingly: change your study habits, visit office hours or arrange for alternate ones, form a study group (or quit an ineffective one), work harder -- do whatever it takes, but don't make excuses for poor performance.

Second, please provide constructive feedback to your instructor. What is working in the class? What is not? I'm still dismayed to learn, but it turns out that I'm not perfect! In fact, there is a lot of room for improvement. Therefore, I welcome constructive feedback. (Your instructor welcomes constructive feedback, too!) "Constructive feedback" means to offer a serious suggestion of a better way to do something rather than simply complaining.

Another interesting read with a surprising (or not) and well-proved conclusion is the following paper:

David J. Palazzo, Young-Jin Lee, Rasil Warnakulasooriya, and David E. Pritchard, Patterns, Correlates, and Reduction of Homework Copying, Phys. Rev. ST Phys. Educ. Res., v. 6, n. 1, 2010.

Study Figure 6 in particular. It turns out that doing your own work is far more effective than not. Duh! For that reason, I have structured the assessment part of the course (that is, how I grade you) to discourage copying and thus to encourage learning.

Supplementary Texts

The primary text for this class is Programming for Engineers, by Aaron Bradley. While he and others have taken pains to edit the text in preparation for the course, it has been under development -- we will post corrections throughout the semester if you email them to your instructor.

You will benefit by having a reference book on the C programming language since the textbook is an introduction and should not cover a wide range of special cases. The classic reference is The C Programming Language, by Kernigan and Ritchie. It is an excellent and thorough reference on C. Some say that C: A Reference Manual is a great alternative, but I have not used it and therefore do not have my own opinion.

For the Matlab portion of the course, we recommend Matlab: An Introduction with Applications, by Amos Gilat, which is available at the CU bookstore. Matlab's command, help, will also be of great use.

Homework

The purpose of homework is to help you learn the material. Homework will comprise an insignificant portion of your final grade, so there is absolutely no incentive to copy others' work and every incentive to use the homework as an opportunity to learn.

Problem sets will reinforce concepts and skills without having you battle with the compiler. Some exercises will be visualization exercises; others will be actual programming exercises --- "pencil-and-paper coding", I like to call it. Problem sets will be due about once per week, typically on Friday at the beginning of lecture.

Programs will reinforce concepts and skills, as well as the practical aspects of programming: working in a Unix environment; using tools like gcc, gdb, valgrind, and Matlab; and working through bugs. For at least the first half of the course, programming projects will build on previously submitted problem sets. Programs will be due about once per week, typically Monday night.

Problem sets will receive greater emphasis early in the semester, while compiled programs will receive greater emphasis later. However, you will be programming the very first week. If you are anxious to begin using the computer, you may of course make your own coding exercises or copy examples from the book to see how they behave and to learn to use the debugger. If you start with a program that is known to be correct and then make intentional errors, you will begin to understand the meaning of the error messages the compiler provides.

The notes have many challenge problems. None will be assigned as homework; all are recommended to the interested student. If you do them, they will cement your learning and preparation for future assignments, quizzes, etc.

Quizzes

In order to maximize the opportunity for assessment (see the first referenced paper) and minimize the incentive to copy (see the second referenced paper), you will take a quiz approximately every other Monday. You will be allowed the full 50 minutes; time should not be an issue. NOTE: The first quiz is on the Friday before Labor Day.

Quizzes will typically consist of several programming exercises. Each is cumulative, because the subject itself is cumulative.

Of the six administered quizzes, one will be dropped in computing your final grade. You may use the drop as insurance against a bad day or in the event that you need to miss a quiz for a reason other than a (medical, family) emergency. For any other reason than a true emergency (the kind that most of us do not experience for many years at a time) I will not offer a make-up quiz. I must be strict on this policy, because with a large class and six quizzes, I would otherwise have to produce a make-up quiz every time. If you have a true emergency, notify me as soon as possible, show me some evidence, and we will schedule the make-up quiz.

Grading

Grades will be computed according to the following weights:

Letter grades will be assigned according to thresholds of 90/80/70/60, except that I may lower the thresholds at my discretion. Hence, you may compute a lower-bound on your letter grade at any time during the semester merely by computing a weighted average of completed work and using these thresholds.

Alternate Final Exam Time

The University policy states that, IF you find that you have been scheduled with THREE or more final exams on the same day, then the instructors of the third and subsequent exams are obligated to accommodate you on an alternate day IF AND ONLY IF you have notified them of this conflict no later than the 6th week of the semester. In Fall, 2011, you must notify me no later than September 30. Check your final exam schedule now.

Honor Code

Please read and understand our honor code. Honor code violators are the most depressing part of this job to deal with (followed by students who do poorly after having ignored my numerous invitations to come to office hours, either scheduled or at alternate times). Please do not cheat. Consequences are determined by a student board and their reputation is that they take violations very seriously.

Religious observances

If you want to participate in an important religious observance associated with your religious beliefs, notify me via email during the first week of classes re the name of the observance and the date. I am not obligated to accommodate you if you have not notified me during the first week of class.