CS1372 - Program Design for Engineers
Summer, AY2008 Class Syllabus
Course Content
Concepts
The students will be expected to be familiar with the following concepts,
either by writing code to solve problems, or by diagramming the behavior of the
more complex algorithms.
General Principles:
- abstraction
- testing
- debugging
- problem solving
Concepts evaluated by coding:
- data types
- the use of variables for storing data
- basic mathematical and logical expressions
- arrays
- operations on arrays
- strings and character arrays
- structures
- file input and output
- conditional statements
- selection
- repetition
- functions and procedures
- variable scope
- recursion
- dynamic data structures
- interfacing to FORTRAN
- introduction to C++
Languages
We will be focused on ANSI standard C code, using Visual Ham as the development environment. We will also introduce the
differences between C and C++ style programming, and some ideas about
FORTRAN and object-oriented programming with C++ at the end of the semester.
Open Door Policy
Your instructor maintains an open door policy. You are free to
visit during the posted office hours or, if you prefer a different time,
arrange an appointment. It is very important to contact us as soon
as you feel that you might need to. Problems, unlike fine wines, don't
improve with age.
Grading Policies
There is no curve in this course. However, we may elect to include extra credit
assignments at various times during the semester. The grading breakdown is as follows:
| Homework |
15% |
Tests |
45% (3 tests at 15% each) |
| Final |
40% |
Letter grade assignments are given according to the following cutoffs
with no rounding:
| 90.0 <= A <= 100 |
| 80.0 <= B < 90.0 |
70.0 <= C < 80.0 |
| 60.0 <= D < 70.0 |
| 0 <= F < 60.0 |
You have the right to question your grade on any assignment; but you
must initiate discussion about the grade in the
following ways:
- Homework grades may be
appealed within two weeks of receiving the grade.
- Regrades for tests must be requested before you
leave the meeting when the test is returned. Do not write on the
test itself. Write the reason for the regrade request on a separate
sheet, attach that sheet to the test and return both to your TA.
Should you find yourself having an issue with a
grade, contact your TA. If the issue remains, contact your instructor.
It is your responsibility to ensure that the grade posted in the course
management software is correct. Discuss any discrepancy with
your TA or your instructor before the beginning of Finals week.
Collaboration Policy
Homework assignments are designed to be learning experiences; they
are graded only to encourage students to complete the assignments
correctly. Collaboration is permitted and encouraged when working on your
homework. However, the material you turn in must be essentially
your own work. Submitting material written by others
is not
permitted on this course, or anywhere else at Georgia Tech.
The quizzes and the final are our primary means of assessing your
understanding of course material. They will be taken in a supervised environment
during lecture periods.
Email Policy for this Course
You are encouraged to conduct all official email correspondence for
this course using your official GT email account; that is, your
prism-based email. This is to protect your privacy. Email from outside sources such as
hotmail, yahoo, and other personal accounts should also be avoided - many Spam
killers automatically reject mail from these accounts. For a quickest response, put CS1372 in the
subject of your e-mail. Most of the people involved with the class filter
their mail in some way, and having CS1372 in the subject will help
them see your e-mail sooner.
Lectures
Class meetings will be in two forms:
-
four hours of lecture each week intended to cover the
core material for the course, and
-
a small group recitation led by Teaching Assistants (TAs).
TA Access
TA Office hours will be announced. This time is used to return graded work
and address any questions.
Due Dates/Times
Assignments are due electronically as indicated on the assignments. Typically this is
midnight (11:45pm) on the date the
assignment states it is due (and this is also indicated on the
course calendar.) There is a 6 hour grace period that begins at the due time. You are free to turn things in early before the due
date, but once the grace period after the due date/time is over, no
more submissions are possible. Multiple submissions are enabled in the
course management software.
There are no redos allowed on any assignment!
Late Work Policy
No late homework, tests or exams are accepted in this
class. Any request for exceptions to this policy due to
incapacitating illness, death in the family, or something similarly
serious must be accompanied by supporting documentation. If you miss your test
/ exam period without prior approval or a valid excuse, you may take the test
at a later time. However, you will be penalized 25% of your
test score.
CAUTION: the preprinted note from the infirmary stating that you
visited the infirmary is not sufficient documentation.
Please contact the Dean of Students with your excuse and they can
provide you with the proper documentation.
http://www.deanofstudents.gatech.edu/contact.html
Final Times and Places
-
Be aware that the final exam time shown at this point on Oscar is
tentative Do not make travel plans around it!!! The date
and/or time are subject to change. GA Tech announces the actual
final exam schedule much later in the semester.
-
If you have a conflict with your final exam times either
with three exams in one day when CS1372 is the middle exam, or a direct time
conflict with another class, you may take your final exam at any of the
other exam times for the class. We do not normally offer an exam
during the published conflict time.
Course Expectations
- Attend lecture on a regular basis and keep up with the reading.
These are the ONLY sources of new material to be learned.
- Participate in all discussions and ask questions about the material. This is your
best opportunity to review the material and see examples to
solidify your understanding.
- Visit your TA's and / or your Instructor's office hours with questions about grades and the
course materials. This is your chance to have one-on-one contact to take care of individual questions and issues.
- Complete every homework assignment and use it as a learning
opportunity; use collaboration in order to gain a better
understanding, not to get the work done faster. This is your
chance to learn the material in preparation for the test; not
having a solid understanding of the homework *will* lead to poor
performance later (i.e. tests, other homework and the final exam).
- Take responsibility for your coursework submissions; it is your
job to make sure that you successfully turned in what you meant to
turn in and verify your submission by retrieving and checking your files. This is how you make sure that you
have credit for the work you
do.
- Be prepared when you go for help from a TA or your instructor with
specific questions. Bring your work (on computer media) and any other relevant materials to the
meeting.
- Take initiative. You will only get out of this class what you put
into it. Begin your assignments early and if you think you need
help, come prepared. Use the resources that are provided for you,
and be determined to succeed from the start.
Course Components
- Lectures - Attend, listen and learn. This is usually where we will introduce new material.
- Recitation periods - Example questions with discussion. Questions about the
homework and interactive solutions, taking advantage of the small
group setting.
- TA Office Hours - Individual questions about grades and homework.
The primary focus for individual office hours: the students in
this TA's section. All other students are second
priority.
- Homework - learn ins and outs of the topics. Apply the material covered
in lecture to programming problems. Collaboration
encouraged here especially.
- Tests - should demonstrate your *understanding* of the course material.
Focus on applying concepts and skills learned in hw to novel problems.
- Final Exam - cumulative assessment of everything in the
course.
What to do in case of problems
If you need help, you should contact the following people:
Miscellaneous Reminders
- You are responsible for turning in assignments on time. This
includes allowing for unforeseen circumstances.
- You are also responsible for insuring that what you turned in
is what you meant to turn in. The course management software includes a retrieve
submission feature. USE IT. This allows you to retrieve exactly
what you submitted and ensure that the submission process was
complete. Every semester students manage to lose credit for
assignments because they unknowingly fail to complete the submission process. Following every
submission with a retrieval of that same submission will allow
you to be sure this does not happen to you.
- Finals and tests must be taken at the scheduled date
and time. Any change to your Test or Final time must be approved in
writing by your instructor. Please do not ask for special treatment because you have purchased non-refundable airline
tickets. The safe time to travel is after finals week. The
finals schedule published at the beginning of the semester is
TENTATIVE. The official schedule is published very late
in the semester.
- If you have any personal issues (family/illness/etc.) please
go to the Dean of Student's office located in
the Student Services Building (Flag Building) next to the
Student Center. They are equipped and authorized to verify the
problems and will issue a note to your instructors
making them aware of the problem and requesting whatever consideration is necessary.
- The announcements should be read every day. Official
announcements about course matters will be posted there. The
general course discussion group is for posting technical questions
about assignments, tests etc. Complaints, questions about your
personal problems, etc. should be discussed with your instructor
in person or via email.
Last Modified May 10th, 2008
by David Smith