Computer Science Advising FAQ
CS 103 is a lab-based, survey course of Computer Science for non-majors including a historical survey of technology and the use of computers, computer applications, software systems design, web design, programming with scripts, computer hardware and digital logic design, and implications of computing. Please note that CS 103 does not count towards CS major or minor requirements. CS 103 does fullfil the QIDR (Quantitative, Inductive, and Deductive Reasoning) and STS (Science, Technology, and Society) requirements.
CS 111 or CS 107. CS 111 is what CS educators call a "CS1" course; it introduces programming fundamentals and develops rudimentary skills of algorithmic thinking. The course learning objectives are:
In CS 111, these objectives are accomplished using the Java programming language. CS 107, is a CS1 course alternative to CS 111 with the same learning objectives, but additionally making primary use of the MATLAB scientific computing environment and assigning problems especially relevant to mathematics and the natural sciences. At the end of CS 107, students transition to Java, so both courses are interchangeable in our curriculum.
Mathematics and Natural Science majors should enroll in either CS 107 or CS 111. CS 107 will have a greater focus on Mathematics and the Natural Sciences, yet Java is a general purpose programming language, and both courses offer high utility in teaching all majors to utilize the computer as a power tool of the mind, an extension of one's problem solving thoughts.
First-year prospective majors in Computer Science (CS) should schedule CS 111/CS 107, CS 112, and Math 111 during the first year. Each course of our introductory sequence, CS 111/CS 107, 112, and 216, is offered each semester, so it is possible to begin the CS major at any point through sophomore year, although a later start will limit course choices and increase scheduling constraints.
Students with CS Advanced Placement (AP) scores of 4 or 5 will receive credit for CS 111 and place into CS 112. Students without such AP scores may still place out of CS 111 (and CS 112) with permission of a CS faculty member after an informal consultation. Without transfer credit, a student placing out of courses will replace such courses with CS elective courses in order to fulfill major requirements. Students questioning placement should look at example faculty syllabi and readings (e.g. CS 111course information and readings, CS 112 course information and readings, CS 216 course information and readings).
Your chances of getting into a full section really depends on (1) how many reserve seats fill, and (2) how many other students are reading this advice. Any reserve seats will be released shortly before the beginning of the semester and will fill from the wait list. I recommend a few things: (1) get on the wait list, (2) contact the course instructor to indicate your interest, and (3) (most importantly) check in with the instructor shortly before the beginning of the semester, requesting permission to attend the first class, and show up. To quote Woody Allen, "80% of success is just showing up." If you express willingness to bring your own laptop, install necessary course software, and sit apart from the lab computers waiting for the inevitable "melt" of students from the roster, you historically have a good chance of getting into the course. (Some students who sign up never show up to class and one meets them first at the add/drop deadline.) There is no guarantee that things will work out and a course seat will open for you, but it often has for motivated students.
CS111 or CS107, then CS 112, and finally CS 216. At Gettysburg College, we use a three course introductory sequence. CS educators refer to such courses as CS1, CS1.5, and CS2. In our course numbering CS 111 and CS 107 are our introductory programming CS1 courses. CS 112 is our bridge CS1.5 course featuring advance programming and simple data structures. CS 216 is our CS2 data structures and algorithms course.
Our CS major handbook is available as a PDF, and you can learn more at our website.