IST163:
Programming Practicum w/C++
Course Syllabus
Fall 2001, MWF
Instructor |
: Brian M. Morgan |
Office |
: Prichard
Hall 212 |
Phone Number |
: (304) 696-6469 |
Fax Number |
: (304) 696-6533 |
Office Hours |
: M: 1:00 – 4:00 W: F: |
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 approximately 3 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 instructor reserves 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
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 Fall of 2001 is October 26,
2001.
University Holidays:
The class is officially dismissed on the following dates:
Labor Day:
Fall
Break:
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:
August 20 |
Review of Syllabus Introduction to WebCT |
August 22 |
Borland C++ Builder Tutorial |
August 24 |
Chapter 1 |
August 27 |
Chapter 2 |
August 29 |
Chapter 2 Assign Lab 1 w/explanation of what to submit
with Labs |
August 31 |
Chapter 2 |
September 5 |
Lab |
September 7 |
Chapter 3 Lab 1 Due Assign Lab 2 |
September 10 |
Chapter 3 |
September 12 |
Chapter 3 |
September 14 |
Lab Lab 2 Due Assign Lab 3 |
September 17 |
Chapter 4 |
September 19 |
Chapter 4 |
September 21 |
Chapter 4 |
September 24 |
Review for Exam Lab Lab 3 Due |
September 26 |
Exam #1 |
September 28 |
Chapter 5 Assign Lab 4 |
October 1 |
Chapter 5 |
October 3 |
Chapter 5 |
October 5 |
Lab Lab 4 Due Assign Lab 5 |
October 8 |
Chapter 6 |
October 10 |
Chapter 6 |
October 12 |
Chapter 6 |
October 15 |
Lab Lab 5 Due Assign Lab 6 |
October 17 |
Chapter 7 |
October 19 |
Chapter 7 |
October 22 |
Chapter 7 |
October 24 |
Lab Lab 6 Due Assign Lab 7 |
October 26 |
Chapter 8 |
October 29 |
Chapter 8 |
October 31 |
Chapter 8 |
November 2 |
Review for Exam Lab Lab 7 Due Assign Lab 8 |
November 5 |
Exam #2 |
November 7 |
Chapter 9 |
November 9 |
Chapter 9 |
November 12 |
Chapter 9 |
November 14 |
Lab Lab 8 Due Assign Lab 9 |
November 16 |
Chapter 10 |
November 26 |
Chapter 10 |
November 28 |
Lab Lab 9 Due Assign Lab 10 |
November 30 |
Catch Up Day |
December 3 |
Lab 10 Due Review, Receive Take Home Final |
December 5 |
NO CLASS – Time to work on Final Exam |
December 7 |
NO CLASS – Time to work on Final Exam |
December 10 |
Final Exam Due by |
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 100-level course, this course is provided as an introductory course, but there
will still be a considerable amount of development and research effort 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.