CIS Logo SVC Logo

   Computing & Information Systems
   Department

 

Schoology Facebook        Search CIS Site      Tutorials

CS 110-1 Syllabus



Computing & Information Science I



Spring 2013



CIS Department



Saint Vincent College



General Information

  • 3 credits
  • Prerequisite: None
  • Instructor: Brother David Carlson
  • Office: Dupre W217
  • Office hours:
    • Mon, Wed, Fri 9:00 am - 10:15 am
    • Tue, Thurs 9:00 am - 11:15 am
    • Tue 2:30 - 3:45 pm
    • and by appointment
  • Phone: 724-805-2416
  • Email: david.carlson@email.stvincent.edu
  • The CIS lab in W214 of the Dupre science complex will be available according to a schedule that will be posted at the lab and under the above link. The lab will usually be staffed by tutors who can assist you with this course.
  • Text: Problem Solving with C++, 8th ed., Savitch, Walter; contributor, Kenrick Mock, Addison-Wesley (2012), ISBN 978-0-13-216273-9. Do not get a different edition or an international edition of this book.
  • Supplementary material: The introductory section of Software Design Using C++ will also be used in this course.

Description


This course provides an introduction to problem solving and beginning computer programming in C++. Topics include algorithms, program structure, variables and data types, input/output, limitations and security problems with numbers and strings on a computer, functions and parameters, local variables, modularity and top-down design, testing and debugging, control structures, 1-dimensional arrays, and text files. Although the course primarily uses Windows console applications, there will be some two-dimensional graphics applications and at least one Windows forms application. The course concentrates on procedural programming in C++, though some use of objects and classes (but not the creation of user-defined classes) is included. The study of C++ programming is continued in the follow-up course CS 111, which concentrates on object-oriented programming.

Why Take This Course


This is a required course for CIS majors, for whom it is the first course in the C++ programming sequence of CS 110, CS 111, and CS 221. It is also useful for others who wish to learn beginning C++ programming. Programming can be used to create an endless variety of software useful in all kinds of fields.

The Text


The text contains more material than can be covered in CS 110. This course covers most of chapters 1 - 8, with other topics added by the instructor. Many of the textbook topics omitted in this course are covered in CS 111, so that this text is useful to keep for that course.

Core Goals


This course contributes especially toward the following core curriculum goals, listed in order of emphasis. Written communication skills are the type emphasized and are shown by students' abilities to write both program code and documentation that describe clearly what their software does.
  1. To form habits of ordered inquiry, logical thinking, and critical analysis
  2. To develop mathematical skills and quantitative literacy
  3. To develop effective communication skills

CIS Department Goals


This course contributes to the following departmental goals, listed in order of emphasis.
  1. The CIS graduate should demonstrate the ability to manage the complexity of a technical problem through the use of good problem solving and software engineering skills, as well as sound, ethical decision-making and information literacy skills.
  2. The CIS graduate should be competent in at least two programming languages.
  3. The CIS graduate should have a broad knowledge of the field of computing.

Course Goals and Means of Assessment

  • By the end of the course the student should understand and be able to use key basic programming constructs such as decision and repetition.
  • By the end of the course the student should be able to write programs using good programming style, documentation, and practices.
  • By the end of the course the student should understand and be able to use modular programming, functions, and classes.
  • By the end of the course the student should be able to write, compile, test, trace, and debug relatively small C++ programs.
  • By the end of the course the student should be familiar with the basic data types in C++ and the concept of classes, class hierarchies, objects, and methods.
These objectives will be assessed mainly through the use of homework assignments, in-class work (such as labs), quizzes, and exams. Informal discussions with students provide additional feedback.

Methods Used to Reach These Goals


Lectures, demonstrations, class activities such as labs, and class discussion are used to assist students in mastering the course material. Homework assignments are designed to allow students to grow in their understanding of the topics at hand. Exams and quizzes provide an opportunity for students to demonstrate what they have learned.

Note for Education Students


CS 110 satisfies the following PDE requirements: 1.A.1, 1.A.2, 1.A.3, 1.A.4, 1.A.5, 1.A.6, 1.C.1, III.A., III.B.

Grading and Course Policies

  • First Exam 20%
  • Second Exam 20%
  • Final Exam 25% (Monday, May 6, 4:00 pm - 6:00 pm, as scheduled by the registrar)
  • Quizzes, Labs, Homework, and Class Participation 35%
Letter grades will be given using the scale found in the College Bulletin. Exams will be announced in advance and will be closed-book, pencil and paper exams in nature. Quizzes will be pencil and paper as well, except perhaps for a few online quizzes. On exams and quizzes, only the test paper, calculators, pens, pencils, and erasers may be used. However, on exams you may use one two-sided 8.5 in. x 11 in. page of written notes of any kind. Cell phones, tablets, laptops, and similar devices should be turned off and put away. Calculators may be used on exams but are not to be shared among students.

Both the instructor and students are expected to do their best to produce a good class and to treat each other with respect. This includes many factors, such as listening when someone else is speaking, trying to understand what others are saying, being of assistance to others, etc. It definitely does NOT include making fun of others. On a practical level, do your best to improve your grade: read the course materials, attend class, do the labs and homework, ask questions, and try to answer questions in class! Computer science requires active participation and repeated practice. If you begin to feel lost, consult one of the tutors, see the instructor, or work through the difficulties with the help of another student in the course. Do not let yourself get behind. In fact, one key to academic success is to start early on homework and other tasks. Last-minute miracles seldom work, particularly with software development! Note in particular that attendance is expected. Student performance is bound to deteriorate when classes are missed. In order to emphasize the importance of attendance, the policies outlined after this paragraph will be used.
  • If the student does not attain an overall passing test average, a failing grade will be received for the course.
  • Each unexcused class absence after the first 3 results in 1.5 percentage points being deducted from the final course grade.
  • Arriving late for class or leaving early (without a proper excuse) is counted as 1/2 of an absence.
  • An unexcused absence from an exam results in the failure of the course.
  • Unexcused absence from more than one-third of the semester's classes results in the failure of the course.
  • Attendance is used to decide borderline grades at the end of the semester.
  • Unexcused absence from class results in a grade of zero for any quiz, lab, or other activity done in that class.
  • Late work is not accepted unless resulting from an excused absence, but partial credit is given for incomplete homework that is submitted on time.
  • Written documentation (such as a note from a doctor's office or coach of one's sports team) is normally required for an absence to be excused. Always bring a copy of such a note to give to your instructor when class must be missed. In special circumstances, check with your instructor.
  • The lowest grade in the quiz/homework/lab category will be dropped at the end of the semester. This is intended to cover absences due to minor illnesses, sports, and the like.
  • An additional 1.5 percentage points will be added to the final course grade at the end of the semester for any student who attends 2/3 of the out-of-class, optional review sessions. (There will be one review session before each exam.) For example, if a student earned a 78.5% for the course, but did attend at least 2 of the 3 review sessions, the final course grade would be 78.5 + 1.5 = 80.0 for that student. (If a student wants to attend a review session but cannot attend at the time it is given, an appointment can be made to see the instructor individually or in a group of two.)
Make-up quizzes will not normally be given. For an excused absence, the student will simply be excused from the quiz. Missed labs should be made up as they are designed to teach important aspects of the course. For an excused absence, the makeup lab will be graded normally. For an unexcused absence, the lab (whether made up or not) will receive a grade of zero. Make-up exams are strongly discouraged. If possible, take the regularly scheduled exam. For an excused absence for a significant reason, the instructor may agree to give a make-up exam. Whenever possible, see your instructor ahead of time if you know you must miss an exam (e.g. due to sports). Normally some type of written documentation is required (such as a note from the coach, doctor, etc.). If the documentation or reason for missing an exam is poor, the student can count on receiving a significantly more difficult exam, if one is given at all! Do ask about a makeup exam if you have a good reason to miss an exam, as it is understood that illnesses and other complications do happen.

Tests and quizzes will ask critical thinking questions that require careful analysis, explanation, and conclusions. For example, you might be presented with a section of a program and asked to trace what it produces, to write the documentation describing at a high level what this section does, or to give an alternative implementation of this section. You might also be asked to write a section of code that carries out a particular task. A few multiple choice or true/false questions may also be included. Labs involve a lot of hands-on activity to try out certain aspects of programming, but on a smaller scale than what is usually needed for programming assignments. In this course you will be asked to write programs that are about 1 to 5 pages in length, including well-written documentation. In the labs, much of the code may be written for you, so that your job is to fix errors, to make modifications, etc. There will be about 7 programming assignments in this course and about 10 labs.

Homework usually consists of programming assignments. Programming involves typing code into a source file, compiling it, testing it, and fixing it as necessary. Programming assignments normally require careful planning and the use of several hours of out-of-class time. Plan to have the program done early so that there will be time to test it and to fix the problems that testing usually reveals. Engineering a program requires a development process that cannot normally be done at one sitting. Allot several hours over multiple days to develop your program. Note that it nearly always takes longer than you expect! Students may be assigned to small groups for the purpose of doing a few of the labs and homework assignments. All other homework assignments and labs must be done separately by each individual. The purpose of group homework is to allow students to learn from each other, to enable the creation of larger and more complex software, and to provide practice at a cooperative project like those demanded by many job situations. Further information about any group assignments will be provided during the course.

Assignments are due anytime on the date given and are normally turned in electronically by placing a copy in one's hw110 mapped network drive. Exceptions to these deadlines are only granted for serious reasons and normally require written documentation of the reasons.

Every programming homework assignment should list all sources that contributed to the solution. This would include the individual student (on an individual assignment) or the students assigned to a group (in a group assignment). It may also include the instructor, a tutor that was consulted, a reference book, a web site, etc. You may consult other students who are not part of your group only to clarify what the homework assignment is asking. If you need assistance beyond simple clarification of the description of the assignment, the best person to consult is the instructor. Tutors may also be able to assist with this, though only the instructor knows the full details of how the homework should work. You may not look at the homework code for another student in this course or show yours (even a part of it) to another student in the course. You may not work out the design or code for a homework assignment with one or more other students from the course unless you were specifically assigned a group project to work on together. If you break one of the conditions spelled out in the last two sentences, then this is a case of program plagiarism. See the next paragraph for how this gets handled and the possible consequences.

Intellectual honesty is important at Saint Vincent College. Attempts to pass off the work of another as one's own, or group work as one's individual work, etc. will result in action appropriate to the seriousness of the situation. If there is some doubt as to whether you wrote a programming assignment yourself, you may be asked to explain the code. If you can do so, that provides good evidence that you did do the assignment yourself. All cases of apparent intellectual dishonesty will be referred to the administration. If the administration does not say what to do about the grades in such a case, the first offense will involve a significant grade penalty (such as a grade of zero) on the assignment, while a second offense may result in failure of the course. In this course, students are expected to do entirely their own work on tests, quizzes, and individual homework assignments. For the in-class labs, students are encouraged to help each other, so the above rules do not apply to the labs, though each student should still do mostly his/her own work. Homework or labs assigned to a group should not include any significant amount of work from a different group. Assignments that are unduly similar (which means that a prudent individual would reasonably conclude that the assignments were done by the same person or collection of persons) will be reported to the administration as likely cases of plagiarism. If you really do your own work, you will not produce something that is unduly similar to someone else's work.

Be sure to read and follow the CIS Department Policies, available under the CIS Department Web Page. (This statement covers especially the proper use of departmental computing facilities, policies concerning your web pages, etc.) Be sure to read the Regulations section of the College Bulletin (which covers such things as grading, academic honesty, etc.) and the Student Handbook (which covers academic honesty, classroom etiquette, etc.).

Students with disabilities who may be eligible for academic accommodations and support services should please contact Mrs. Sandy Quinlivan by phone (724-805-2371), email (sandy.quinlivan@email.stvincent.edu) or by appointment (Academic Affairs-2nd floor of Headmaster Hall). Reasonable accommodations do not alter the essential elements of any course, program or activity. The Notification of Approved Academic Accommodations form indicates the effective date of all approved academic accommodations and is not retroactive.

If the instructor needs to cancel class, every effort will be made to send an email message to students' Saint Vincent email accounts.

Maintained by: Br. David Carlson
Last updated: January 18, 2013
Disclaimer