CS 221: Introduction to Computer Science for Engineers
Instructor: Prof. Kenneth L. Calvert, email@example.com,
257-3961, office 102F Davis Marksbury.
The PDF version has complete
information about textbook, course structure, grading and
other policies not covered here.
Watch this space for announcements, advice, and assignments.
The first class meeting will be Tuesday, 30 August 2011.
The first lab quiz will be Thursday, 29 September. The first in-class
quiz will be Tuesday, 4 October.
The first problem set is due Wednesday, 21 September. Late
submissions will be penalized 20% per day.
A Practice Lab Quiz is available.
It is strongly recommended that you work it.
In-Class Quizzes 2 and 3 will be 25 October and 22 November.|
Lab Quizzes 2 and 3 will be 3 November and 1 December.
A Practice Quiz for Lab Quiz 2
(THIS THURSDAY) is available;
it is strongly recommended that you work it.|
Also, here are some
hints on how to approach the quiz.
Here's' list of things to know for
the third in-class quiz (Tuesday 22 November).
The final examination will be Thursday, 15
December, 10:30-12:30 in the regular lecture hall. The
final is cumulative. It will be made up of problems similar to
those on the earlier quizzes.
Solutions to Homework 5 have been
posted. Also, solved versions of all the in-class quizzes
have been posted
(near the bottom of this page).
- Lab exercises are to help you learn the material through hands-on
- Lab exercises must be completed in your lab
- Each lab exercise is due the second lab meeting after it
is posted. Lab exercises will be posted no later than Wednesday of the week
before they are due.
- Once your TA has signed off on your demonstration, you may upload
your work via the CS
Portal. This serves as a backup evidence that you completed the
- If you miss a lab section for a valid reason (e.g., unexpected
illness), contact your TA about getting your exercise signed off.
- Because of the limited time available in Lab, in general you will need
to work on the lab exercise outside class. You will still need to
demonstrate your completed lab for the TA in class in order to get credit.
- Lab Exercise 1, out 31 August,
due 8 September.
- Lab Exercise 2, out 7 September,
due 15 September.
- Lab Exercise 3, out 14 September,
due 22 September.
- Lab Exercise 4, out 21 September,
due 6 October (one week later than usual due to Lab Quiz on 29
- Lab Exercise 5, out 5 October,
due 13 October.
- Lab Exercise 6, out 12 October,
due 20 October.
- Lab Exercise 7, out 19 October,
due 27 October.
- Lab Exercise 8, out 26 October,
due 10 November (one week later than usual due to Lab Quiz).
- Lab Exercise 9, out 9 November,
due 17 November.
- Lab Exercise 10, out 16 November,
due 8 December.
- Problem Set 1, Due Wednesday 21 September.
Grading Guidelines for Problem Set 1.
- Problem Set 2, Due Friday, 21 October.
Grading Guidelines for Problem Set 2.
Solutions for Problem Set 2.
- Problem Set 3, Due Monday, 7 November.
Grading Guidelines for Problem Set
Solutions for Problem Set 3.
- Problem Set 4, Due Wednesday, 16
Solutions for Problem Set 4.
- Problem Set 5, Due Saturday, 3 December,
but can be turned in until 9 December.
Solutions for Problem Set 5.
- Extra Credit Problem 1, Due Sunday, 11
- Extra Credit Problem 2, Due Sunday, 11
The following are the basic Computer Science topics
for which you will
be responsible; we will also cover engineering applications.
- variable, data type, operator, expression
- precision and accuracy
- hardware, software, programming language, interpreted
vs. compiled languages
- control flow; flowchart
- conditional statement; boolean expression
- iterative control flow; for-loops; while-loops
- procedural/functional abstraction
TA Office Hours
In addition to their lab sections, all TAs hold office hours [in Multilab].
| TA Name
|| Office Hours
|Tom Allen (firstname.lastname@example.org)
|| Section 003 (11:00)
|| Thur 2:00-3:30
|Mehmet Onur Ascigil (email@example.com)
|| Sections 001 (8:00) and 002 (9:30)
|| Tue and Thu 11:00-12:30
|Pavel Tariq Islam (firstname.lastname@example.org)
|| Sections 008 (5:00) and 009 (6:00)
|| Tue 12:30-2:00, Thu 3:30-5:00pm
|Manish Sapkota (email@example.com)
|| Sections 006 (3:00) and 007 (4:00)
|| Tue and Thu 9:00-10:30
|Ju Shen (firstname.lastname@example.org)
|| Sections 004 (12:30) and 005 (2:00)
|| Friday 9:00-12:00
Slides Used in Lecture
- 30 August: Course/Syllabus
and "Algorithmic" (Numerical) Solutions (Projectile Example)
- 6 September: CS Concepts:
binary representations, decimal-binary conversions, accuracy and
precision, variables and expressions, MATLAB and Excel paradigms.
- 13 September: Boolean Logic and
- 20 September: DeMorgan's Laws,
Model of Operation, MATLAB Topics
- 27 September: Quiz Example
Problems, Flowcharts, Arrays in MATLAB
- 4 October: Functions, arrays and
iteration (while-loops) in MATLAB
- 11 October: if statements,
fprintf, looping over the elements in an array, for-statements
- 18 October: more for-loops
- 25 October: Plotting/Graphing
- 1 November: Root-Finding Methods
- 8 November: More Root-Finding:
Goal Seek in Excel; Fixpoint methods: Matrix operations
Publisher's Slides on Matrix operations
- 15 November: Solving Systems of
Linear Equations; Quiz Coverage
- 22 November: Numerical
- 29 November Least-squares Regression
- 6 December Optimization Problems,
Image Processing, audio processing. The "blurring" function I
demonstrated is here. (Here is an interesting
exercise: time the execution of the blurring function on a
200-pixel-square window with a span of 10, using tic
and toc. Then edit the function to remove the
"uint32()" type-conversion calls -- just take them out. Then time
the same call again. You will find that it takes several dozen
times longer. This is because MATLAB has to convert the
uint8 values in the image matrix to doubles to do the
arithmetic, and converting an integer to floating-point is very expensive.)
In-Class Quiz Solutions
Instructions for online turnin of assignments
If you have any problems with the turnin system, please send email to
BOTH email@example.com and firstname.lastname@example.org. Please be sure you are
following the instructions, and include a precise and
detailed description of the problem. (Note: include
at least answers to these questions:
What computer are
you on? Exactly what actions did you take? What response did you see
to those actions? Include text of all error messages and any other
output you see.)
(Note: https -- this is important!)
Log in using
Blue user ID and password.
Click on Courses in the menu bar at left. That will
bring up a table
of courses in which you are currently enrolled.
Find the area for your CS 221 section (it will say "CS22100x", where
your section number), and the row for the assignment or lab exercise you are
submitting. (You should also see a brief
description for each assignment.) Click on
the link under submit in that row.
A window for uploading files will appear. You can either
click browse (recommended) to find the file using a
standard "chooser" dialog,
or you can type in the pathname for the file -- that is, a full name,
starting with a drive letter, like this:
C:\Documents and Settings\calvert\Desktop\CalvertKenneth-HW0.zip
It doesn't matter what the file is called on
your system -- the turnin system will generate a unique filename
from your name and student number, the assignment number, and how many
times you have already turned it in.
Once you have identified the file to be uploaded, click the "submit"
button to upload it. If the upload is successful, a confirmation
be displayed. Copy down and save this
number -- it is
your receipt, and the only acceptable proof that you turned
in the assignment.
If a submission is found to contain a virus, or is damaged in some
way (e.g., it is not a valid zip file), it will be rejected. At that
point you will need to check for viruses yourself and/or verify that
you constructed the zip file correctly.
You may upload a revised version after you have already submitted.
The system records the date and time of your most recent
submission; the latest submission will count.
Submissions after the deadline will be counted late.
Instructions for Creating a "zip" File
Start Windows Explorer (note: NOT Internet Explorer) and navigate
to the folder containing the files you want to include in the zip
Select all the files you want to include. (You can either select them
using shift-click, if they are contiguous in the list, or select one
and then use
control-click to add files to the selection.)
When all the files to be included are highlighted, right-click on
one of them. Select the entry "Send to..." from the pop-up menu that
appears when you right-click. That menu item expands to a list, which
includes an item "Compressed (zipped) Folder" -- select it. A new zip
file, containing the selected files, will appear. It will have the
same name as one of the included files, but will have the suffix
In the Finder, select the items you want to include in the zip
- Under the "File" menu, select "Compress items" (where n
should be the number of items you have selected). A file
"Archive.zip" will appear.
Mon Aug 29 18:27 EDT 2011