Instructor: Dr. Rick Coleman, former Senior Software Engineer, SAIC Inc. Now retired.
E-mail: rcoleman@cs.uah.edu
CS 221 Web Page: http://www.cs.uah.edu/~rcoleman
Office: N345, Technology Hall
Office Hours: By appointment Course Catalog Description:
Continuation of CS 121 with emphasis on advanced features of the C++ programming language,
including pointers, recursion, classes, inheritance, and polymorphism. Introduction to
fundamental data structures including linked lists, stacks, queues, and binary search trees.
Basic sorting and searching algorithms. Practical experience in the design, development, and
documentation of significant object-oriented programs. Prerequisites: CS 121, MA 113
(Precalculus Trigonometry). Co-requisite: MA 171 (Calculus A).
Textbook (Recommended but not required):
C++ Plus Data Structures, 4th ed., Dale, Nell and Teague David,.
Jones and Bartlet Publishers, 2003. (This text is optional and not required because of
its expense. If you would like to have a copy for reference in your own library any previous
edition would be good, and definitely a lot cheaper.)
Course Objectives:
When you have completed this course you should:
Have an understanding of advanced programming using the C++
language including pointers, data structures, and classes.
Be familiar with the principles of Software Engineering including
algorithm analysis, software design, and documentation with an
emphasis on the importance of software testing.
Have an understanding of the fundamental principles of
algorithm development and program design, development,
and testing with a brief introduction to the Unified Modeling Language (UML).
Have an understanding of the abstract data types (ADTs): queues, stacks,
linked lists, binary trees, and graphs.
Have experience in the implementation of abstract data types
in C++ programming assignments.
Have the ability to apply knowledge of computing and mathematics appropriate
for practical experience in the above topics by means of
independent programming assignments.
Programming Assignments:
There will be 4 programming assignments each designed to
provide experience in the topics being covered in class.
Details of these assignments will be posted on the web
site and discussed in class.
You will be required to turn in some program planning
written work prior to the date that each program is due.
Work turned in MUST meet the following requirements:
The written documentation (Design Document, and Test
Plan) for each programming assignment must be turned in via e-mail by the
designated date in the syllabus and must be turned in before the
program source code. Documentation turned in at the same time as
the source code will not be accepted. Documentation is worth 10
points out of 25.
Electronic copies of the source code (.cpp and .h files) must be submitted via e-mail
by the designated date. Do not turn in any project
files with the following extensions .sln, .dsp, .dsw, .ncb,
.opt, .plg, .obj, .ilk, .pch, .pdb, .idb, .vcproj, .user, or .exe. Do not turn in
a source file containing a main() function. The instructor will
compile and run your source code using a special test driver containg a main() function.
Source code that will not compile will receive no credit.
Source code is worth 15 points out of 25.
All programming assignments should be handed in on time,
as specified in the course schedule.
Each programming assignment is worth 25 points for a total
of 100 points (the equivalent of one test).
A grace period beyond the due date for each programming assignment has
been posted in the course schedule (with the on-line syllabus). Programming
assignments may be turned in without penalty up to that date. Programming
assignments will NOT be accepted after that date.
Final Grade:
Tests(3)
100 pts each
300
Programming assignments(4)
25 pts each
100
Final Exam
200 pts
200
TOTAL
600
Note on WX grade:
The administration of UAH has established a grade of WX
or faculty initiated student withdrawal. Basically, this allows the
instructor to withdraw a student from class without any request from
the student. It's primary purpose is to allow a faculty
member to remove a student from class who is not attending class or
putting forth any effort to complete the class work. This grade will
not be used to avoid a grade of F for the course.
UAlert Emergency Notification System:
UAHuntsville has implemented the UAlert emergency notification system. UAlert allows you
to receive time-sensitive emergency messages in the form of e-mail, voice mail, and text
messages.
Everyone who has a UAHuntsville e-mail address will receive emergency alerts to their campus
e-mail address. In order to also receive text and voice message alerts, you are asked to
provide up-to-date phone contact information. Participation in UAlert text and voice messaging
is optional, but enrollment is strongly encouraged. You can’t be reached through UAlert
unless you participate. The information you supply is considered confidential and will not
be shared or used for purposes other than emergency notification.
To review your UAlert account, add or update phone and alternate e-mail addresses, and set
the priority for your contact methods, please visit the UAlert web site: http://ualert.uah.edu.
OFFICIAL UAH COMPUTER SCIENCE DEPARTMENT
POLICIES AND PROCEDURES
Responsibilities of the teacher
Provide a detailed syllabus. This syllabus
should list office hours, course objectives,
textbooks, references, prerequisites, and
grading policy/method of assessment.
Come to class prepared, on time, and make
full use of the class time.
Provide timely and adequate feedback on
grades. Return graded material promptly.
Conduct final exam at the time designated
in the class schedule.
Not assign new work (i.e. not listed on
syllabus) that is due in last two weeks of
classes.
Avoid leaving the examination room without
a proctor. Provide paper for exams.
Make reasonable use of the assigned textbook.
Check students have proper prerequisites.
Instructor does not waive assigned
prerequisites.
Report all incidences of academic misconduct (cheating)
to the Department Head and Vice President for Student
Affairs.
Responsibilities of the student (see also, Student
Handbook Article II)
Come to class with the proper prerequisites,
well prepared, on time, and make full use
of the class time.
Provide adequate notice of anticipated
absences and take full responsibility for
finding out about missed work, announcements,
and assignments.
Submit assessment material on time and
submit only your own work (see Integrity).
Do not allow other students to copy your
work.
Read and understand the syllabus and follow
announced policies.
Integrity
We expect CS instructors and students to conduct
themselves in a professional manner. Students are
subject to all the provisions in the UAH Code of
Student Conduct, which is available free from the
Office of Admissions and Records. Information on
plagiarism and other forms of misconduct is presented
in the Student Handbook Article III. Departments
are obliged to report all student misconduct to the
Office of Student Affairs.
Complaint Procedure
If you have difficulties or complaints related to this course,
your first action should be to discuss them with your instructor.
If such a discussion would be uncomfortable for you or fails to
resolve your difficulties, you should ask for a meeting with the
Chair of the Computer Science Department in Technology Hall N-300,
info@cs.uah.edu, telephone 256-824-6088. If you still are unsatisfied,
you should discuss the matter with Dr. Emanuel Waddell, Associate Dean
of the College of Science. The Associate Dean's office is MSB C207,
telephone number 256-824-6844 and email address adeancos@uah.edu..
Students with disabilities
Your instructor would like to hear from anyone who has
a disability that may require a modification of seating,
testing, or other class procedures. Please see
instructor after class or during office hours to
discuss appropriate modifications. You should also
contact Student Disability Services in in WH 317 (Ph. 824-1997)
or online at http://www.uah.edu/health-and-wellness/disability-support/requesting-services
for further assistance.
Student computer account
Students enrolled in any CS course are entitled to an
account on the departmental computer network. Use of
such an account is subject to departmental and
university policies. To apply for an account, and see
the current policies, go to the departmental web site
at http://www.cs.uah.edu/account/
Examination policy
In response to past student complaints about problems
during examinations, the Computer Science Department
has developed the following guidelines for in-class
examinations in all courses.
Come to the exam prepared to complete it
without a break. If you think you will need
a break, please inform the proctor before
the exam if possible.
Do not communicate with other students. Talk
only to the instructor.
Whenever you leave the exam room turn in
your exam.
Use only the paper provided by the
instructor for all writing.
If assigned a specific seat, remain in that
seat.
Unless specifically permitted by the
instructor, use no books or other reference
materials. Do not bring calculators,
computers, pocket-organizers, cell phones,
pagers, or other electronic devices to the
exam.