|
CS 111 - Introduction to Computer Science I
Course Information |
Course Overview
On the surface it appears that Computer Science is a very dynamic discipline.
However, there are certain principles that are basic to Computer Science.
These are the fundamentals that enable us to solve problems within the context
of a hardware environment. For that reason this course has a heavy emphasis
on the methodology of problem solving with the use of computing equipment,
algorithms, and the implementation of those algorithms in a specific programming
language. Because of the importance of the Internet and the World Wide
Web, this course will be taught using the Java programming language.
Exercises will introduce the student to basic computing concept, data types,
classes and methods, decisions, iteration, testing and debugging, arrays and vectors, and other selected topics.
The goal of these exercises is to illustrate good programming principles,
an understanding of object oriented programming, programming and elementary
data structures, as well as some basic software engineering principles. Students
will have weekly homework exercises throughout the term that will provide
a solid foundation of experience for future problem-solving.
Learning Objectives
- 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, text, 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.
Text
Instructor
Section A - Glatfelter 112 M,W,F 11:00-11:50AM:
Section B - Glatfelter 112 M,W,F 12:00-12:50PM:
Todd Neller
Office: Glatfelter 209
Office Hours: M,W,F 1-1:50PM. Please drop by or make an appointment.
Note: Generally, feel free to drop in if my office
door is open. If it is closed, I'm desperately seeking to keep on top
of things and rabid attack ferrets may drop from the ceiling in my defense.
Phone: 337-6643
E-mail:
Student Assistants
In-class Assistant:
Section A: Ben Winston; office hours: Tuesday 7-9PM in
Glatfelter 207 (CS lounge)
Section B: Forrest Jacobs; office hours: Thursday 7-9PM in
Glatfelter 207 (CS lounge)
Grading:
DJ Groff; office hours: Wednesday 7-9PM in Glatfelter 207 (CS lounge)
Mason Showalter; office hours: Sunday 7-9PM in Glatfelter 207 (CS lounge)
Grading
80% Assignments
10% Quizzes / Exams
5% Colloquium Attendance
5% Class Attendance / Participation
You are responsible to know the material from each lecture and reading
assignment before the start of the next class. Homework is due at
the beginning of lecture on the due date. Late homework will not
necessarily be accepted. Source code that does not compile may
not receive partial credit. You are required to attend 3 colloquia or
approved departmental events over the course of the semester. Class attendance and participation is
required. If you attend all classes and are willing to participate,
you'll get 100% for this part of your grade. Even if you know enough
to give a particular lecture, please consider the value of helping your peers
during in-class exercises.
Honor Code
Honesty, Integrity, Honor. These are more important than anything we
will teach in this class. Students can and are encouraged to help each
other understand course concepts, but all graded work must be done independently.
The work you submit (including both code and problem solving ideas expressed
in the code) should be your independent work. For detailed information
about the honor code, see
http://www.gettysburg.edu/about/offices/provost/advising/honor_code/index.dot
.