Penn State University
Berks/Lehigh Valley College, Berks Campus
College of Engineering

CMPSC 101 Course Syllabus

Instructor:                         Curt Minich

Office Phone Number:     (610) 374-0739, ext. 2202

Email:                                - Send email through webmail or regular email. Do not send email through Angel.

Office Hours:                    before and after class and by appointment

Course Number & Title:   CMPSC 101, Introduction to Algorithmic Process

Course Description:

This is a course in introductory problem solving and programming techniques that introduces students to computers and computer programming. It is assumed that you have a basic high school mathematics background, although no prior computer science is assumed. Topics covered will include the general characteristics of computers, the properties of algorithms, techniques of problem solving and testing of computer programs in C++. The course is designed for non-computer science major however it still involves a great deal more work than many students are used to. Learning to program can be fun and interesting; it most definitely rewards the students by developing logic and analytical skills.

Class Location:

See below

Meeting Time & Place:                    

Section 001 meets in Luerssen Building Room 144 from 3:30 - 6:10 pm on Mondays

Section 002 meets in Luerssen Building Room 144 from 3:30 - 6:10 pm on Wednesdays

Schedule:

See our class home page at http://www.minich.com/education/psu/cplusplus

Optional Text:

Problem Solving with C++: The Object of Programming (w/ Visual C++ 2008 Express) by Walter Savitch, published by Addison-Wesley, copyright 2009, ISBN-10: 0138148325 or ISBN-13: 9780138148324. This textbook comes as a "valuepack" bundle that includes the Visual C++ Express 2008 Edition of the software that we use in this course. However you can also download the software for free.

Some students can do well in this course without the textbook since most of the important material is found in the instructor's website. But some students like having it as a reference tool.

Access Account:

You will need to use your PSU Access Account for the course. You cannot log onto the computers in the computer lab without enabling your Access Account. Please visit the Berks Campus Computer Center in Luerssen 102 (or call 610-396-6195) to set up your account if necessary. Visit the center’s home page at http://www.bk.psu.edu/staff/computer/InfoTech.htm for more information.

Methods:

Programming assignments must be completed outside of class. You will have to spend a significant amount of time in the completing the programming and homework assignments. It is strongly encouraged that you install the Visual C++ compiler on your home computer so that you will be able to complete your work there. Otherwise, you are expected to use the University's computer labs.

You must check your Penn State email (Internet POP not Angel) frequently since the professor may occasionally make important class announcements via email.

You will also be expected to visit the class web site at http://www.minich.com/education/psu/cplusplus regularly for announcements, lecture notes, and assignment information. The instructor may add web pages, demo programs, worksheets, lecture notes, or modify web pages at any time. It is the student's responsibility to check the web site regularly as the course progresses and to make additional printouts if necessary.

The make up of the final grade will be approximately as follows: 40% Midterm Exams, 10% Quizzes and/or Homework, 30% Programs, 20% Final Exam.

Quizzes may be given at the beginning and/or end of a number of classes. Students who are not present for a quiz FOR ANY REASON will receive a zero. There is no makeup opportunity for quizzes. Sometimes an attendance roll-call is used as a quiz, effectively making attendance a graded part of the course.

Most exercises and assignments will be taken from the text, supplied handouts, or Internet resources. Students are liable for any assignments, assignment modifications, or other announcements made in class or over the class mailing list. If a student fails to obtain an assignment or learn of an assignment modification during class, it is his or her responsibility to obtain a copy of the information from a classmate.

Each student is expected to bring his or her notebook with lecture notes, USB drive with working files and examples, completed homework assignments & textbook to every class.

Late programming assignments and homework assignments will not be accepted. If your program does not compile or work correctly, you must still submit it rather than take the automatic zero for failing to turn it in.

Most printed assignments will be returned during class. Keep all assignments returned to you. The instructor will not change a grade without seeing your graded paper. Also, keep the source files for your assignments on a USB drive for the rest of the semester. Do not change a source file after handing in the assignment.

It is your responsibility to regularly back up all assignments throughout the semester. If a file ever becomes accidentally corrupted, deleted, or lost by the instructor or you, you are required to produce a backup of the missing file at any given class. You may receive a zero grade for an assignment if you come to class without quick access to a backup copy of the programming assignment (perhaps on a USB drive or through Angel.)

Grading:

A, A- 90 - 100%

B-, B, B+ 80 - 89%

C, C+ 70 - 79%

D 60 - 69%

F below 60%

Note that you may automically fail the course if either:

      1. you don’t turn in any single programming assignment
      2. your exam average is below 50%.

Student Responsibilities

Familiarize yourself with the Penn State University published list of student responsibilities at http://www.minich.com/education/psu/cplusplus/studentresponsibilities.pdf

Academic Honesty

It is expected that each student will endeavor to make his or her work unique. It is every student's responsibility to seek help from the instructor if he or she has difficulty with program assignments. All students submitting duplicate programs (or slight variations) will be penalized. All students who collaborated on the assignment will receive zero grades, even the student who did all or most of the original work.

Students may talk orally (not via instant messaging or email though) about portions of a programming assignment's specifications or logic. Students tend to learn and reinforce their understanding of concepts when they communicate with each other in this way. BUT neither student must type or write anything down from the conversation. No computer code must be exchanged in this kind of conversation. A student is never allowed to see another student's finished or partially completed program.

This kind of oral discussion is OKAY during the following phases of a programming assignment:

developing a test plan
analysis of the project's specifications
developing the algorithm or pseudocode
interpreting individual errors or bugs when the program is executed

But students must not work together or collaborate with these phases of a programming assignment:

writing the computer code
editing or proofreading the program
finding and debugging errors in a program's source code
documenting the program

If a student does discuss the assignment in any of the permissible phases above, this must be explained in the program's documentation for the instructor to see. Also, every student in CMPSC 101 must be able to explain his/her program and algorithm to the instructor at any time after a program has been submitted. If a student cannot explain his/her algorithm, the instructor may conclude that the student did not create the algorithm himself and obtained it dishonestly.

Academic Integrity Statement:

All work submitted (programs, tests, quizzes, homework assignments) must be your own and not copied in whole or in part from another student or textbook. In addition, all material that is not your own (ideas or words) in papers must be properly cited. If you are not sure how to cite material in your paper, see your instructor. It is your responsibility to avoid plagiarism. Failure to comply with this rule could result in a failing grade and disciplinary procedures.

Penn State University's Definition and Expections: Academic integrity is the pursuit of scholarly activity in an open, honest and responsible manner. Academic integrity is a basic guiding principle for all academic activity at Penn State, and all members of the University community are expected to act in accordance with this principle. Consistent with this expectation, the University's Code of Conduct states that all students should act with personal integrity, respect other students' dignity, rights and property, and help create and maintain an environment in which all can succeed through the fruits of their efforts. Academic integrity includes a commitment not to engage in or tolerate acts of falsification, misrepresentation or deception. Such acts of dishonesty violate the fundamental ethical principles of the University community and compromise the worth of work completed by others. Academic dishonest includes, but is not limited to, cheating, plagiarism, fabrication, misrepresentation, or deception. Such acts of dishonesty violate the fundamental ethical principles of the University community and compromise the worth of work completed by others. Failute to conform to these polices, especially during exams, will result in a '0' for the particular activity and may result in an 'F' for the course.

Exams and Programming Assignments:

See our class home page at http://www.minich.com/education/psu/cplusplus

Make-up opportunities for exams:

Due dates of all programming assignments will be announced as far in advance as possible. Students may not makeup quizzes, homework assignments, or programming assignments. Zero grades will be given for missed quizzes, homeworks, and program assignments no matter what the circumstance.

Make-up exams will be given only for emergency circumstances. The instructor reserves the right to make a decision in all such cases. If an emergency does arise, call AND email the instructor as soon as possible before the exam in order to arrange for a make-up. If communication is not made with the instructor before the exam (or as soon after the emergency that circumstances allow), you WILL receive a zero grade for the exam. The instructor reserves the right to make this decision in all such cases. A make-up exam must be scheduled to be taken as soon as the emergency circumstances allow. It may also be necessary to take the make-up exam at another location. In any case, make-up exams may follow a different format and contain a different number of exercises or essays than the original exam.

Class attendance policy:

Class attendance is mandatory and will be taken at the beginning and/or end of each class period. Quizzes missed due to absence or leaving a class early cannot be made up. Students will receive a zero for any quizzes missed. If a student is absent, he or she must have a classmate pick up any handouts that may have been distributed.

Class cancellation:

Call the Penn State University Weather Telephone Number  at (610) 396-6375 to find out if class has been cancelled due to inclement weather.

Note to students with disabilities:

Penn State welcomes students with disabilities into the University's educational programs. If you have a disability related need for reasonable academic adjustments in this course, please contact Susan Anderson, Coordinator, Disability Services, located in room 153 Franco Bldg (610-396-6410) or by email at sma17@psu.edu. For further information regarding The Office of Disability Services, please visit the web site at www.equity.psu.edu/ods. Instructors should be notified as early in the semester as possible regarding the need for reasonable academic adjustments.

Learning objectives :

The learning objectives for this course are clearly marked and listed on the lecture notes within this website. For example, at http://minich.com/education/psu/cplusplus/101_lxr_notes_variables.php, you will see that Objective #1 is "Understand the different variable data types used in C++ and how they differ from constants."

Disclaimer:

The class schedule, due dates, policies, and assignments in this course are subject to change in the event of extenuating circumstances or by mutual agreement between the instructor and the students.

Special 2009-2010 Flu Protocols

In compliance with Pennsylvania Department of Health and Centers for Disease Control recommendations, students should NOT attend class or any public gatherings while ill with influenza. Students with flu symptoms should leave campus if possible and to return home during recovery. The illness and self-isolation period will usually be about a week. It is very important that individuals avoid spreading the flu to others. You will have a reasonable opportunity to make up missed work. Students with the flu do not need to provide a physician's certification of illness.  However, ill students should inform the instructor by email or phone as soon as possible that they are absent because of the flu or flu-like symptoms. Students who are absent because of illness will have a reasonable opportunity to make up missed work. Ordinarily, it is inappropriate to substitute for the missed assignment the weighting of a semester's work that does not include the missed assignment or exam. Completion of all assignments and exams assures the greatest chance for students to develop content mastery that is unavailable through the weighting process. The opportunity to complete all assignments and exams supports the university's desire to enable students to make responsible situational decisions, including the decision to avoid spreading a contagious virus to other students, staff, and faculty, without endangering their academic work. The most effective strategies for mitigation are hand-washing along with cough and cold etiquette.