Welcome to the home page for CSci 157, Introduction to Modeling and Programming!
Course Features
-
This course provides a solid introduction to algorithmic problem solving and computational thinking — developing clear and precise solutions to interesting and worthwhile problems.
-
Imperative problem solving: The course focuses upon imperative problem solving — a widely used approach that applies to many fields, including such areas as computations with data in the sciences and social sciences, control of devices and computer systems, processing within computer networks, etc.
-
Precision in articulating solutions to problems: The C programming language, widely used in science, engineering, and large-scale data analysis, provides a framework for problem solving and careful expression.
-
Approaches to structure and process data efficiently: Data are central to many real-world problems. Considerations include how data are represented, alternative structures to store data, and effective techniques to work with the data.
-
-
This course explores several low-level concepts and perspectives that provide insight into the internal functioning of modern computers.
-
Basic concepts include data representation, memory management, and processing controls.
-
The terminal interface: Although contemporary computer users often have experience with graphical interfaces that allow much processing by moving a mouse and clicking, the GNU/Linux operating system provides an extensive range of additional capabilities.
-
-
The course follows a lab-based format that encourages collaboration during most class activities.
-
Focus on labs: Emphasizing active learning within the class, much class time is devoted to lab-based activities. (Altogether there are over 45 labs for this course.)
-
Pair programming: Within the classroom, students will mostly work in pairs (with pair assignments changing every week or so).
-
Collaboration mixed with individual work: Additional activities will include students developing solutions (e.g., programs) individually for a range of problems, as well as in-class tests.
-
General Education
This course satisfies a general-education requirement for one course in Learning Objective 5: Observing, Experimenting,and Mdoeling: The Scientific and Quantitative View. In meeting this requirement, this offering of the course includes several specific elements.
-
To sharpen and develop experience with logical thinking and problem solving, the course takes a systemmatic approach to imperative problem solving.
-
Hands-on experience will require students to work through 45-50 structured labs and projects (about one each class day).
-
Coursework will include labs, assignments, projects, and tests utilizing the C programming language (widely used in quantitative analysis, in science, and in engineering).
-
Since a focus on computational problem solving requires problems to solve, the course will make extensive use of Scribbler 2 robots as an application theme, and students will write numerous C programs that will direct these robots to play songs, move around a room, and react to their environment.
Navigation on this Site
Since this stie is under development, some quirks may be encountered in the short term. The following describes site navigation which should be stable within the first few weeks of the semester.
-
Navigation on the left of this home page shows class-session information, based on today's date.
-
To find data for a date other than today,, add a query string with the desired date in the format yyyy-mm-dd. For example: to obtain course information, based on February 15, 2017, use the URL:
http://www.walker.cs.grinnell.edu/courses/157.sp17/?date=2017-02-15 -
With this course update, the course is organized into segments, and segments contain one or more sessions (with readings, examples, a lab, and other resources). Both course and scheduling information are stored in a central database, so all views of the course (e.g., schedule, deadlines, information for a specified day) are synchronized. Of course, only the course instructor is authorized to update the database.
-
All navigation links should now function, although refinements are underway. Please report problems or provide feedback to hewalker at sewanee.edu.