Syllabus: IST 163

Programming Practicum w/C++, (Internet-Based Delivery)
Department of Integrated Science and Technology | College of Science
Spring 2009

Instructor

Brian M. Morgan

Office

Morrow 104

Phone Number

(304) 696-6469

Fax Number

(304) 696-6533

Office Hours

You can email me with the Blackboard Mail Tool or use the Who's Online tool. Should you ever find yourself on campus during the semester, you can also look me up in person.

E-Mail

brian.morgan@marshall.edu

This course begins on January 12, 2009 and ends on May 8, 2009.

Please note that all times are Eastern.


Please see the University Academic Calendar for course withdrawal dates.

Course Materials and Cost

The following textbook is required for the course:

C++ Programming: Program Design Including Data Structures, 4th edition, by D.S. Malik; Course Technology; ISBN: 1-4239-0222-X, 2009.

The textbook can be obtained from the Marshall University bookstore.  The approximate cost of the book is $146.00.

Technical Requirements

  • Supplemental materials can be found contained within the Blackboard Vista environment (http://www.marshall.edu/muonline/). I will be sending class announcements, updates, etc. using your Blackboard Vista account. Access to a WWW browser is required (Internet Explorer 7.0 or higher or FireFox 2.0 or higher) and Adobe Acrobat Reader (available for download free from Marshall University's Computing Services download page at http://www.marshall.edu/computing/).
  • For this course, it is recommended that you use Microsoft Visual Studio .NET 2008 to compose your programming project answers. This package is available for free to students taking this course through our Microsoft Agreement (MSDNAA). All you have to do is visit the COS ITC center on the first floor of the Science building (room S162) and sign an agreement to obtain a copy of Microsoft Visual Studio 2008, the programming IDE we will be using this semester. Please see http://www.marshall.edu/isat/msdn.asp for access information.  PLEASE ENSURE THIS SOFTWARE IS INSTALLED BEFORE STARTING YOUR EXAMS/PROJECTS.

 

Course Details

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 programming projects. Students will participate in programming projects that illustrate the implementation of concepts in general science 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 basic console programming skills using C++
  • Develop software applications using Microsoft Visual Studio .NET 2008
  • Demonstrate planning techniques for developing software applications

 

Course Grading

Instruction method:
Students should read the lecture notes that are contained within Blackboard and read the corresponding chapters from the textbook. Programming Projects and Exams covering major topics are part of the course. Students may work on their assignments/projects from home with an Internet connection or if you are on campus, in any of the publicly accessible computer labs..

Evaluation method:
Evaluation of student's performance will be based on the quality of your performance on programming projects and exams.  

Grading Policy:
Final grades are based on performance on projects and a final exam as indicated below.

2 in-class Exams (equally weighted)

30%

Final Exam

20%

10 Programming Projects (equally weighted)

50%

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 coding 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 to receive at least partial credit. Code that does not compile will receive 0 credit, NO EXCEPTIONS.  This means you must debug your code before submitting.

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.

Exams and Quizzes

There are THREE exams worth 50% of your overall grade. The first comes after Chapter 5’s content, the second after Chapter 10, and a comprehensive Final exam. The exams can be taken at any time once you have completed the reading and projects associated with the chapters listed herein, but all exams must be completed before the end of the day on May 8, 2009. The exams are taken within Blackboard through the Assessments tool, whose link can be found on the course’s homepage. A schedule of when you should take each exam is found under the Schedule link on the course's homepage. A proctor will not be required for any of the exams, nor will any other special arrangements be required other than access to a computer with Internet access for a minimum of 1 hour for each exam (and up to 2 days for the final exam). Exams are, however, closed book.

Projects

The course includes a number of programming projects. All projects should be completed by the suggested due date that is listed within the course schedule link on the course’s homepage here in Blackboard . By doing so, you will ensure that you will complete the course on-time without having to be rushed at the end of the semester. All projects must be submitted through the Blackboard Assignment Tool, and the description of each project/assignment is currently found within Blackboard's Assignments Tool, linked to the course homepage. As with the exams, all projects must be completed and submitted by the end of the day on May 8, 2009.

Discussions

The Discussions tool within Blackboard will be used to make any general announcements, last minute changes, etc. It is mandatory that you monitor your Blackboard course messages at least once a day. You as a student can also use the discussions tool to post any questions/comments that you have about the course content, projects, specifics of what is to be done, etc.

On-Campus Requirements

Because this is an online course, there is absolutely no requirement that you come to campus. You can communicate with me via the course Mail tool or the Who's Online tool.

Course Policies

My Academic Honesty Policy

Academic Dishonesty is defined as any act of a dishonorable nature which gives the student engaged in it an unfair advantage over others engaged in the same or similar course of study and which, if known to the classroom instructor in such course of study, would be prohibited. Academic Dishonesty will not be tolerated as these actions are fundamentally opposed to "assuring the integrity of the curriculum through the maintenance of rigorous standards and high expectations for student learning and performance" as described in Marshall University's Statement of Philosophy.

If you are found cheating on projects or plagiarizing answers from the Internet or other sources (among other things), there will be no second chance. Your penalty is that you will receive a failing grade for the course. In those cases in which the offense is particularly flagrant or where there are other aggravating circumstances, additional, non-academic, sanctions may be pursued through the Office of Judicial Affairs. Notice of an act of academic dishonesty will be reported to the Department Chair, Dean of the College of Science, and to the Office of Academic Affairs. Please refer to the Marshall University Undergraduate Catalog for a full definition of academic dishonesty.

Make-up Exams and Late Penalty: No make-up exams will be given after May 8, 2009, except under unusual circumstances and satisfactory written justification. Any student who fails to complete the exams and projects by this date due to an unexcused reason will receive a grade of zero for that assessment with no opportunity for make-up or substitution. The decision whether to give a make-up exam rests with the instructor.

Withdrawal Policy: The University withdrawal policy is followed in this course.

Topics and Methodologies / Schedule

A detailed schedule of topics covered in this course can be found under the schedule link on the course homepage in Blackboard. Please refer to this schedule as it contains the suggested dates for which you should read over the notes, complete the course projects, and the final exam.

For each topic discussed in the notes, specific experience of other students and the instructor will be posted to the discussions forum to enhance the characteristics involved. Projects for the course will be based on creating a fully-functional database solution for a sample application.

Effort Required:
Even as a 100-level course, a considerable amount of development and research effort is required of the student. Students are expected to put in an effort of at least 10 hours per week studying, trying examples, and programming. Upon background and preparedness, some students may have to put in additional effort. Please do not procrastinate. Procrastination and the placing of blame on other factors than yourself has become very large problems for college students. Prioritize, schedule, and take responsibility for your actions and you should do very well in this class.

Resources

Me: Don't hesitate to contact me directly with questions or concerns. You can reach me through the Blackboard Mail Tool or if necessary by phone at (304) 696-6469. Please don't let your questions hang out there and simmer. If you are not sure about something the best thing to do is to ask about it right away! Something that may seem obvious to me may not be obvious to you at all! I answer e-mails every evening before going to bed, so if you do not hear from me within 24 hours of sending your message, it may not have reached me.

Support Services
Marshall University offers a variety of support services to students enrolled in online courses:

About Me - Biography

BRIAN M. MORGAN, BS, MS

Associate Professor, Integrated Science and Technology
Marshall
University

Brian Morgan is a resident of Proctorville, OH and holds a Bachelor of Science degree in Computer Science from Marshall University and a Master of Science Degree in Technology Management from the Marshall University Graduate College.

Professional Experience

Associate Professor, Integrated Science and Technology Program, Marshall University, Huntington, WV. (May 2008-Current).

Assistant Professor, Integrated Science and Technology Program, Marshall University, Huntington, WV. (July 2000-May 2008).

Director, Center for Instructional Technology, Marshall University, Huntington, WV. (October 1997-June 2000). Responsible for everyday duties of the Center, as well as managing Instructional Technology and World Wide Web Development on both the Huntington and South Charleston campuses of Marshall University, and coordinating faculty and staff IT development training programs.

Part-Time Faculty, Marshall University Community and Technical College, Huntington, WV. (August 1997-Current). Have taught Computer Technology 107, 107E, and 108; Information Technology 107E, and have designed the electronic versions of Computer Technology 107E and Information Technology 107E.

Instructional Technologist, Marshall University, Huntington, WV. (November 1996-October 1997). Responsible for working with Information Technology staff and faculty from a variety of disciplines on the selection and production of CD-ROM-based and WWW-based multimedia instructional materials, assist faculty and staff, through training and consulting, in integrating computing and information resources into the curriculum, track current and emerging Internet and development technologies, and aid in the progression and completion of technology grants. I have created distributable Computer Based Training modules for both Distance Education and Faculty Training, as well as worked with several Internet course creation tools for placing classes "on-line."

Computer Programming, Marshall University College of Liberal Arts and College of Science, Huntington, WV. (April 1996-May 1997). Responsible for developing and programming multimedia tutorial programs for the University as well as programming multimedia modeling software for science laboratory courses.

Computer Programming and Research, NASA and National Science Foundation Grant through Marshall University, Huntington, WV. (Spring 1996-Fall 1996). Responsible for developing and programming lecture-room demonstration educational project programs through a NASA and NSF grant for Marshall University.


Marshall University