CS105: Introduction to Computer Programming: C++
Date: Spring 2007
Times: T 1:00-2:30p
Classroom: RLM 6.112
Unique No: 54745
This course will serve as an introduction to C++. As it is only an
introduction and the scope of C++ is huge, we will not be able to
cover every aspect of the language. Instead we will cover many of its
important features and look at how it differs from other
object-oriented programming languages (see detailed schedule). Additionally I will try
to help you develop strategies for approaching the learning of any new
programming language whether it is your 2nd, 3rd, or 100th.
Instructor
Maria Jump (mjump@cs.utexas.edu)
Office: ACES 3SEi2C
Phone: 232-7446
Office Hours: M 1:30 - 2:30 (TAY Basement) and by appointment
Prerequisites
The prerequisite for this class is CS 315 with a grade of at least C,
or permission of the instructor. A good understanding of
object-oriented programming in Java is expected.
Resources
Course book: Deitel & Deitel, C++: How to Program, fifth
edition. You are not required to purchase this particular book, but
you need a recent book or it won't match the current C++ standard. The
class web page is
http://www.cs.utexas.edu/~mjump/cs105/s07/
Annoucements will be posted there. There is also a class newsgroup,
utexas.class.cs105.c++. This is mainly intended to be a
resource for students to help each other. Questions requiring an
immediate answer from the instructor should be asked in person or sent
via email. You are required to either read the newsgroup or regularly
check the web page for announcements. If you email a question that is
already answered on the web page or in the newsgroup, it will be
ignored.
Announcements made in class will also be posted on the course website.
Grading Policies
Since the purpose of this class is to teach you a programming
language, there will be a strong programming requirement. I believe
that the best way to learn to program is by doing. Therefore, there
will be no midterm nor final exam. Instead, in-class quizzes (worth
20%) and programming assignments (worth 80%) will determine your
grade. Regardless of your overall average, to pass this class you
will need to submit WORKING versions of all SIX
programming assignments. A program is considered to be working IF AND
ONLY IF it compiles and executes without error.
- Any program which does not appear to be a reasonable attempt to
solve the assigned problem will receive 0 points.
- Any program that does not compile and run with the default driver
will receive 0 points. The default driver will either be written by
the student or be provided with the assignment.
- Additionally programs will be graded with drivers written by the
instructor. A project that does not compile and run with the grading
driver will receive up to a 50 point penalty. Multiple drivers could
be written to test individual portions of a project.
- Style and documentation can count for up to 20 points.
If more than one submission has been made by a student for any project
assignment then only most recent submission will be graded. Late
assignments will not be accepted. Assignments must be turned in
electronically via the unix-based turnin. Any
assignment received more than 15 minutes after its deadline will be
considered late. Each student receives a mulligan that they can
use to turn in one assignment up to three days late. To do this, I
must be notified (email is fine) before the assignment is due. The
mulligan policy is intended to help you cope with emergencies that
prevent assignments being finished on time. If you use your mulligan
you will not get another one for any reason.
Due to the numerous issues regarding incompatibility between
compilers, operating systems, file formats, etc., on different
computer systems, students are strongly advised to do all of their
program development on a UNIX machine. It is the student's
responsibility to ensure that their projects both compile and run on
the standard CS UNIX machines where they will be graded. All students
are eligible to recieve a UNIX account if they do not already have
one. Sign-up for new accounts can be done in PAI 3.12 or PAI 5.38.
Please see the instructor if there is a problem.
Your instructor reserves the right to regrade the entirety of any quiz
or project so submitted for regrading. This could result in a lower
score for coursework submitted for specious reasons.
Final Drop Date
Remember that this course is only 10 weeks long. It's final meeting
day is on Tuesday, March 27, 2007. Nobody will be able to
drop this course after that date (even though the "drop date" may be
after that). If you plan on dropping this course, make sure you do it
before the final meeting day for the class.
Religious Holidays
A student who cannot meet an assignment deadline due to the observance
of a religious holy day may submit the assignment up to 24 hours late
without penalty if proper notice of the planned absence has been
given. Notice must be given at least fourteen days prior to the
classes scheduled on dates the student will be absent. For religious
holy days that fall within the first two weeks of the semester, notice
should be given on the first day of the semester. It must be
personally delivered to the instructor and signed and dated by the
instructor, or sent certified mail, return receipt requested. Email
notification will be accepted if received, but a student submitting
such notification must receive email confirmation from the
instructor. A student who fails to complete missed work within the
time allowed will be subject to the normal academic penalties.
Academic Honesty
You are required to do your own work. Specifically, on programming
assignments, you may discuss general concepts and algorithms, but you
may not collaborate on flowcharts, pseudocode, or C++ code. While it
is acceptable to discuss problems that you may be having, showing
someone your code and asking for debugging help is not allowed. These
rules apply whether you are receiving help from another student or
from someone outside the class. You are always allowed to ask the
instructor for more specific help. The easiest way to comply with this
policy is to avoid talking to others about the program while you are
working at a computer. If you have questions relating to this policy,
please direct them to the instructor. The usual recommended penalty
for academic dishonesty will be a failing grade in the class.