Computer Science Advising FAQ


Questions
Answers

  • Which course should I take if I...
    • ... want to learn about Computer Science?

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.

  • Which course should I take if I...
    • ... want to major/minor in Computer Science?
    • ... want to learn programming fundamentals?
    • ... am a Mathematics major?
    • ... am a Natural Science major?

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:

  • Learn the syntax and semantics of a high-level programming language, including basic computation, simple input/output, standard conditional and iterative structures, and functions (a.k.a. methods).
  • Gain the ability to design, implement, test, debug, analyze, and explain the behavior of simple high-level computer programs.
  • Develop a basic discipline of "computational thinking", whereby a problem is approached by representing relevant information with simple data structures, making using of appropriate control structures, methods, and object-oriented abstraction, and applying relevant problem solving patterns to compute a solution.

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.

  • Which course should I take if I...
    • ... have received a Computer Science AP score of __?
  • How does placement work in introductory Computer Science courses?

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 111 course 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.

For general campus support questions, see Information Technology's Student Computing FAQ.  Concerning Computer Science, students make use of Windows, Mac, and Linux machines.  Windows is most popular and thus best supported on campus, but almost all of the software used in our classes is free, open-source, and multi-platform.  For software that is not free, open-source, and multi-platform, we provide lab machines available to our students 24/7.

Additional Resources