CS 110-1 SyllabusComputing & Information Science IFall 2009CIS DepartmentSaint Vincent CollegeGeneral Information
DescriptionThis course provides an introduction to problem solving and beginning computer programming in C++. Topics include algorithms, program structure, variables and data types, input/output, 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 CourseThis 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 TextThe 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 GoalsThis course contributes especially toward the following core curriculum goals, listed in order of emphasis:
CIS Department GoalsThis course contributes to the following departmental goals, listed in order of emphasis.
Course Goals and Means of Assessment
Methods Used to Reach These GoalsLectures, demonstrations, class activities such as labs, and class discusson are used to assist students in mastering the course material. Homework assignments are designed to allow students to grow in their understanding of the topic. Exams and quizzes provide an opportunity for students to demonstrate what they have learned. Note for Education StudentsCS 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
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.
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 8 programming assignments in this course and about 12 labs. Homework usually consists of programming assignments. Programming involves typing code into a source file, compiling it, testing it, and fixing it as necessary. Progrmming 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 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 as long as your question is small in scope and that you list the name of the student consulted at the top of your program. "Small in scope" excludes showing another student your entire program, or seeing that person's program, or working out the design of the whole program together. Sharing on that larger scale often amounts to one person copying the mistakes of another or getting a free ride on the efforts of another. A good rule of thumb is not to look at more than 1 screen of another person's code. Anyone who needs help on problems of larger scope should consult the tutors and/or the instructor. Further discussion of collaboration versus plagiarism will be done in class to clarify the matter. 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. All cases of apparent intellectual dishonesty will be referred to the administration. In this course, students are expected to do entirely their own work on tests, quizzes, individual homeworks, and individual labs. The only exceptions are the "small in scope" questions discussed above. These should only have minor impact on the resulting homework or lab submission. Homework or labs assigned to a group should not include any signficant 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 and follow the "small in scope" rule above, 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 main CIS Department Web Page. This statement covers especially the proper use of departmental computing facilities, policies concerning web pages, etc.) In addition, 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 accomodations and support services should please contact the Associate Dean of Studies, Mrs. Sandy Quinlivan, by phone (724-805-2371), email (sandy.quinlivan@email.stvincent.edu), or by appointment (Academic Affairs - Headmaster Hall). Reasonable accomodations do not alter the essential elements of any course, program, or activity. If the instructor needs to cancel class, every effort will be made to send an email message to students' Saint Vincent email accounts and to post the class cancellation on the college website as well as the course webpage. |