ENG 101: Introduction to Computers and Programming

Winter 2005

Home / announcements | Course overview | Staff and hours
References / Notes / Handouts | Homework/Projects | Exams | Grades

Class Schedule

The following schedule may change for all sorts of reasons. As I update it an announcement will be posted on the main webpage. (Last updated Jan 20)

Class Overview

The official class description is a bit terse:
Algorithms and programming in C++ and MATLAB, computing as a tool in engineering, introduction to the organization of digital computers.
As implied above, our primary goal is to teach you how to program using C++ and MATLAB. In later classes you will use this knowledge to solve problems in your own engineering field. However, we also have a very important secondary goal: to teach you how a computer program is written and how it functions independent of the programming language. So we will teach you "algorithms" (which is actually a very well defined word in this context---you will see it on an exam!) and a bit about how computers actually work (the "introduction to organization of digital computers" in the official class description.)

The class is organized into three different components.

  1. Introduction to the basics of C++ (ends with the first exam on Feb 9)
  2. Introduction to algorithms and their software implementations in C++ and MATLAB (ends with the second exam on March 30th)
  3. C++ and MATLAB applications.
You might find it helpful to read the class plan which explains what will be happening in each of these three sections.


Required: Problem Solving with C++, The Object of Programming, by Walter Savitch; 4th or 5th edition.

Optional: The C Programming Language, by Brian W. Kernighan and Dennis M. Ritchie; 2nd edition (though first is pretty nice too).
(I'd only suggest getting this book if you are planning on being a CS major or if some scholarship is paying for your books.)


Your grade is made up of the following components.
Exams                     50% (3 exams.  Best is 20%, other 2 are 15%)
Programming assignments   27%   
Practical assignments      8%   
In-lab assignments         6% (~13 assignments, drop 2 lowest)
Homework                   5% (~5 assignments, drop lowest)
Quizzes                    4% (each 2%)
Grades in the class will be assigned on a curve, where we expect the median class grade to be a high B- or low B. A+ grades will be given to those students who earn an A and that the instructor feels have done an outstanding job in the class. All other grades will be assigned according to the above scale.

There will be two midterms and a final. Your highest score will be worth 20%, the other two 15%. The midterms will be in the evening. All of your exams will be open book (both the required an optional text are allowed) and you may have one 8.5 by 11 inch sheet of paper with notes (front and back).

Programming assignments
There will be a number of programming assignments throughout the semester. While these assignments are only worth a bit more than a quarter of your grade, they are in many ways the most important part of the class. While you are welcome to verbally consult with your peers on many of these assignments (But see the "Honor Policies" section below) , it is vitally important that you write the assignments on your own. The programming skills needed, both in later classes and in your engineering career, will only be developed if you learn to write these programs on your own.

We currently plan on having 4 short programming assignments (P0-P3) and three longer ones (PA, PB and PC). Our current plan, which may change, is to assign the programs the following values: P0=1, P1=2, P2=2, P3=3, PA=5, PB=6, PC=7. Where the total is 26 points for the 26% the projects are worth.

Practical assignments
These are fairly short programming assignments where you are not allowed to consult with anyone about your program. You may ask the GSIs and instructor about the program specification but that is it.

In-lab assignments
In-lab assignments are fairly short lab exercises that we expect you will be able to finish during your lab section. However, they are generally not due until the start of you next lab section. Your lowest two in-lab assignments will be dropped when computing your score. These two dropped assignments are to make up for any lab assignments you miss.

Early homework will be C++ overview assignments to get you the needed practice with the programming language. Later Homework assignments will generally be old exams or the equivalent. While our exams will be different than those in the past, they will still be good practice for our exams.

There will be two quizzes during the semester during class. These quizzes will take about 20 minutes and will be closed book/closed notes.

Late/missed assignments and make-up exams

Because of the size of the class (about 400 students in two sections) we have a very detailed set of rules for missed assignments and make-up exams which you should read carefully.

Honor Policies

All students in the College of Engineering are presumed to be decent, honest people, and to abide by reasonable standards of conduct. All students in Eng101 are subject to the College of Engineering Honor Code. (The above was adopted from Prof. Holloway's website).

Home / announcements | Course overview | Staff and hours
References / Notes / Handouts | Homework/Projects | Exams