IST280:
Programming Practicum w/C++
Course Syllabus
Spring 2001, TR 12:30 pm – 1:45 pm, PH 200
Instructor |
:
Brian M. Morgan |
Office |
:
Prichard Hall 212 |
Phone
Number |
:
(304) 696-6469 |
Fax
Number |
:
(304) 696-6533 |
Office
Hours |
:
M, W, F – 9-10 |
E-Mail |
Textbooks:
The following textbook is required for the course:
Problem Solving with C++: The Object of Programming (3rd e), by Savitch; Addison Wesley; ISBN: 0-201-70390-4, 2001.
Computer
Requirements:
Supplemental materials can be found contained within the WebCT environment (http://webct.marshall.edu/).
I will be sending class announcements, updates, etc. using your WebCT
account (will discuss during the first lecture).
Access to a WWW browser is required (Netscape 4.0 or higher or Internet
Explorer 5.0 or higher) and Adobe Acrobat Reader (available for download through
the class WebCT site).
Course
Description:
Concepts of
software development and maintenance using C++, including syntax of the
language, loops, functions, pointers, decision structures, and file processing.
Proper program design using object-oriented programming techniques are
emphasized.
Credit:
The
course is three (3) credit hours. It includes classroom lectures, exams, and
laboratory programming projects. Students will participate in programming
projects that illustrate the implementation of concepts in general applications
to learn C++.
Pre/co-requisites:
none
Desired
Objectives/Outcomes:
By the end of this course, you should be able to:
-
Discuss
Object-Oriented programming concepts
-
Demonstrate
programming skills using C++
-
Develop
software applications using Borland C++ Builder
- Demonstrate planning techniques for developing software applications
Instruction
method:
There will be 2 contact hours of classroom lecture per week.
I will try to give you at least half of one class per week to work on lab
assignments once they have been assigned. The
laboratory programming projects cover the major topics of the course.
Students may work on their assignments in Prichard Hall 200 or 207.
Evaluation
method:
Evaluation of student's performance will be based on the quality of your
performance on programming assignments, exams, and class and web-based
participation.
Grading
Policy:
Final grades are based on performance in assignments, exams, and attendance as
indicated below.
2
In-class Exams |
30% |
Final
Exam |
20% |
10
Laboratory Assignments (equally weighted) |
40% |
Attendance
& Participation |
10% |
Assessment
of Projects:
The
grading of all laboratory programming projects will take into account the
following:
1.
Although the most important attribute of a program is correctness,
grading will take into consideration such items as time and space efficiency, documentation,
etc.
2.
Programs must have proper inline documentation and must be properly
indented. 20% will be deducted for poorly documented and/or poorly indented
code.
3.
All submitted code must compile correctly. Code that does not compile
will receive 0 credit.
4.
When a problem does not specify a required complexity, the grading will
differentiate between efficient and nonefficient code. For example, if you
write a program that contains a number of checks that are redundant and/or has
one or more loops that iterate zero or one time, up to 10% of the grade will be
deducted.
5.
When a method
name and/or parameters are specified in an assignment’s description, you must
use that name and/or parameters.
6.
When you write a function, remember that the function should work for all
possible inputs. Not on just your test inputs.
7.
Although interactions with other students are encouraged, you must
compose your own answers, unless otherwise noted.
Individuals
who utilize other people’s code, thoughts, or ideas must provide appropriate
references to said resources. Failure
to provide such documentation will result in a failing grade for the assignment,
and may result in a failing grade for the course.
In
determining the overall grade for a project, you can expect the following grades
based on performance:
A
– Excellent work that meets and/or exceeds all of the requirements for a given
project, code compiles and works for multiple test samples, all code and
associated files are well-documented, and the code is written efficiently.
B
– Good work that meets all of the requirements of the assignment, but may have
errors in documentation or coding, or contains code that may not work with all
possible data samples.
C
– Average work that meets all of the requirements of the assignment, but is
missing one or more of the items in its entirety that is mentioned in terms of
an A grade.
D
– Below average work which fails to meet one or more of the requirements of
the assignment.
F
– Unacceptable work which fails to meet two or more requirements for an
assignment, or has code that will not compile and execute.
Final
letter grades are determined based on the following grading scale:
90-100% |
A |
80-89% |
B |
70-79% |
C |
60-69% |
D |
Below
60 |
F |
The instructors reserve the right to
change these values depending on the overall class performance and/or
extenuating circumstances.
Policy
Statement:
Programming assignments:
The course includes a number of
programming assignments. All assignments are due by midnight on the due date. Late
assignments will be penalized at the rate of 5% per day (including weekends).
Exams:
There are three exams: The first will come after chapter 4, the second
after chapter 8 and a comprehensive Final exam (as scheduled). Exact dates and
times of exams will be announced in class.
Make-up
Exams and Late Penalty: Make‑up
exams will not be given
except under unusual circumstances and satisfactory written justification.
Any student who misses an exam due to an unexcused absence will receive a
grade of zero for that exam with no opportunity for make-up or substitution.
University excused absences or those occurring with a good reason will be
excused. Make up exams must be
taken within one week of the original scheduled date.
The decision whether to give a make up exam rests with the instructor.
Passing
grade:
Programming assignments and exams are required parts of the course and
must be satisfactorily completed to pass this course.
A student must have a passing performance on each part.
A failing grade on a component may result in a failing grade in
the course.
Attendance
Statement:
Class attendance is mandatory and is a required part of the course.
Those needing to miss class for a legitimate reason must contact me via
telephone/voice mail or e-mail prior to the class meeting for it to be excused.
See grading policy.
Withdrawal
Policy:
The
University withdrawal policy is followed in this course. The last day to drop an
individual course for the Spring of 2001 is March 16, 2001.
University
Holidays:
The class is officially dismissed on the following dates:
Spring Break: March 20, 2001
March 22, 2001
Topics
and Methodology:
The following outline delineates the tentative class schedule with topics to be
addressed during the course. Please
note this is a tentative schedule and it may change upon class progress:
January
9 |
Review
of Syllabus |
January
11 |
Borland
C++ Builder Tutorial |
January
16 |
Chapter
2 |
January
18 |
Chapter
2 |
January
23 |
Chapter
2 |
January
25 |
Chapter
3 |
January
30 |
Chapter
3 |
February
1 |
Chapter
4 |
February
6 |
Chapter
4 |
February
8 |
Chapter
4 |
February
13 |
Review |
February
15 |
Exam
1 |
February
20 |
Review
of Exam 1 |
February
22 |
Chapter
5 |
February
27 |
Chapter
6 |
March
1 |
Chapter
6 |
March
6 |
Chapter
6 |
March
8 |
Chapter
7 |
March
13 |
Chapter
7 |
March
15 |
Chapter
8 |
March
27 |
Chapter
8 |
March
29 |
Review |
April
3 |
Exam
2 |
April
5 |
Review
of Exam 2 |
April
10 |
Chapter
9 |
April
12 |
Chapter
9 |
April
17 |
Chapter
10 |
April
19 |
Chapter
10 |
April
24 |
Chapter
11 (Pointers) |
April
26 |
Dead
Week – Review |
May
1 |
Final
Exam 12:45 pm – 2:45 pm |
For
each topic discussed in the textbook, specific experience of other students and
the instructor will be discussed to enhance the characteristics involved.
Laboratory programming projects for the course will be based on the
chapters we discuss in the textbook. Additional
material may also be covered in the class.
Every
student is responsible for all materials presented in class, including lectures,
notes, and handouts. Students are
also highly encouraged to work through the end of chapter exercises in the
textbook to help with difficult concepts. In
case you are not present for a class, it is your responsibility to contact the
instructor and receive information about the material presented in that class.
Class attendance is very important.
Effort
Required:
As a 200-level course, a considerable amount of development and research effort
is required of the student. For
every one hour in class, the student is expected to put in an effort of at least
3 hours outside the class for studying and programming. Because of background and preparedness, some students may
have to put in additional effort.
Communication:
The Bulletin Board facility of WebCT and private E-mail will be used to make any
general announcements, last minute changes, etc. It is mandatory that you monitor your WebCT course messages
at least once a day.