Syllabus
Computer Science 121
Computer Science I: Programming in C++
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
|
Sorry, but Dr. Coleman is not teaching this course
this Semester. He will also be retiring at the end of the
Fall 2019 semester and so will not be teaching this course again.
|
Course Catalog Description:
Review of hardware and software components of computer systems. Review of problem
solving techniques and algorithm development. Principles of software design, implementation,
and testing. Introduction to object oriented design and the C++ programming language. Extensive
programming assignments to provide experience in the application of design and implementation
principles. Prerequisites: CS 102 or other college-level programming course,
MA 112 (Precalculus Algebra). Prerequisite with concurrency: MA 113 (Precalculus Trigonometry).
|
Textbook: This text is recommended but not required.
-
Programming and Problem Solving with C++ (Brief Edition),, Dale, Nell
and Chip Weems,.
Jones and Bartlet Publishers.
If you can find an earlier edition at less cost please get it.
|
Course Objectives:
When you have completed this course you should:
-
Have an understanding of what programming is and some techniques
for planning and designing computer programs to solve problems.
-
Have a thorough knowledge of C++ syntax including but not limited
to C++ data types, mathematical operators, conditional and logical
statements, looping, and stream I/O.
-
Have a thorough knowledge of arrays, functions, and parameters passed
to functions.
-
Have been exposed to functional versus object-oriented development
techniques and unit testing techniques.
-
Be familiar with software design principles including proper use of
internal program documentation.
-
Have experience planning, designing, and implementing programs in
the C++ language using current development tools such as the Visual
C++ development environment.
-
Be able to design, implement, and test a computer program to meet
defined requirements.
|
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. One of these will be done
mostly during class time under the direction of the instructor.
-
All programming assignments should be handed in on time,
as specified in the course schedule.
-
The programming assignments are worth a varying number of points based
on the difficulty of the assignment. Program 1 will be worth 10 points,
Program 2 will be worth 20 points, Program 3 will be worth 30 points
and Program 4 will be worth 40 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 below. Programming
assignments may be turned in without penalty up to that date. Programming
assignments will NOT be accepted after that date (referred to as the
DDD, Drop Dead Date).
-
All programming assignments turned in must be your own work – do not copy
someone else's work or work together with another student! Copying someone else's work will
result in a grade of zero on that assignment for both you and the person you copied
from. This could result in you being removed from the class and reported to the Dean for
cheating. Don't risk it.
-
Programs are due at the beginning of class on the posted due date! It's up
to you to see that your program is ready on time, "my computer crashed" or
"my disk is corrupted" are not acceptable excuses.
-
Your program must run under MS Visual Studio 2010 or 2012. The software is available
in the Computer Science laboratories or you can find out how to download a
copy for use on your home computer.
Click
here to learn how to download.
-
Programming assignments always take longer than you expect. Be sure to start early!
The joke among professional programmers is that when someone tells you how
long it will take to complete a project take their estimated time, multiply
by two and increase to the next time unit, e.g. if told "one day", expect
the project to be finished in "two weeks".
|
In-class Programming Activities:
-
There will be a number of in-class programming exercises to provide hands on experience
with the current topic. You are strongly encouraged to bring your laptop to class so
you can use it for the in-class projects. See the link above for instructions on how
you can get a FREE copy of the Microsoft Visual Studio compiler to install on
your own laptop.
-
Each in-class exercise must be turned in, via e-mail or copying to the K-drive, prior to the
next class meeting after the exercise is assigned in class. Note that the received time
on e-mails will determine if an exercise is received on time, not the time you sent it.
All exercises submitted on the K-drive will be copied by the instructor up to about 15 to 30 minutes
prior to the next class. If your exercise is not received before that time it will not
be accepted.
|
GETTING HELP:
Here are some resources in case you need outside assistance:
the class Teaching Assistant on duty in the lab (N329), the Computer Science Department Help Desk,
or the instructor.
Even your classmates can help in a limited way.
Acceptable help from classmates:
-
Discussing in general terms the concepts involved in an assignment
to be sure you understand.
-
Asking questions about language syntax, or program error messages
-
Getting help with specific program bugs (NOT "My program won't run; please find the error").
Unacceptable help:
-
Getting someone else to write all or part of your program
-
Copying all or part of someone else's program, or copying a program
from a textbook or the Internet
-
Working so closely with someone else that the instructor can tell that your programs
are similar or identical, and for someone with his experience this is surprisingly
easy to do.
|
ACADEMIC INTEGRITY (Statement of the UAH Policy):
Unless otherwise specified, all assignments submitted for
grading must be totally your own work.Violation of this policy will be punished
by at least a grade of zero on the assignment. This applies to programs, homework,
quizzes or tests. Flagrant or repeated violations of the academic integrity policy
will be reported to the University Judicial Committee for further action. A person
who allows his or her work to be copied is as guilty as the person who does the copying.
It is your responsibility to protect your programs, in particular. If someone
submits a copy of your program, you will both be held equally responsible.
|
Final Grade:
Tests(3)
|
100 pts each
|
300
|
Class attendance and participation
|
50 pts
|
50
|
Programming assignments(4)
|
10, 20, 30, 40 pts
|
100
|
Final Exam
|
200 pts
|
200
|
|
TOTAL
|
650
|
|
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.
|