CSci 157 The University of the South Easter Semester, 2017
Scribbler 2
CSci 157:
Introduction to Modeling and Programming
Scribbler 2
Course Home Resources Course Details: Syllabus, Schedule, Deadlines, Topic organization MyroC Documentation Project Scope/

CSci 157 Syllabus, Easter Semester, 2017

Instructor Resources Coursework Submitting Coursework Supplemental Problems Troubleshooting Guide
A Note on Typos Pair Programming Pair Responsibilities Prog./Debugging Hints Dates, Deadlines Emergencies, Illness
Academic Honesty Collaboration Cell Phones Accommodations Grading

CSci 157 is the first course in Sewanee's introductory computer science sequence.

The course explores elements of computing that have reasonably close ties to the architecture of computers, compilers, and operating systems. The course takes an imperative view of problem-solving, supported by programming in the C programming language. Some topics include:


Henry M. Walker

Office: Woods Laboratories 134
Telephone: extension 3595

Office hours:


Readings and examples for this course are under development. As noted in the day-by-day schedule, complete readings, examples, projects, and labs are available for some parts of the course. However, materials for other parts of the course are part of a multi-year development project, and these materials may be spotty:

Students in this course should have a ready reference for the C programming language. Some labs include only a brief discussion of a topic, and students will need to do additional reading to understand the general context and the details of the material. Use of a textbook can be an effective means to study this material in appropriate depth.

The following two books provide the needed background, but these book target different audiences. CSci 157 students are strongly encouraged to obtain one of these references for use in this course. CSci 157 students need NOT obtain both of these references.

  1. K. N. King, C Programming: A Modern Approach, Second Edition, W. W. Norton, 2008, ISBN 978-0393979503.

    • Targeted audience: Introductory CS students who are beginning their exploration of imperative problem solving and C
    • Approach: Teaching manual including many examples and much narrative
    • Style: Narrative with definition of terms and extended discussion
  2. Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language, Second Edition, Prentice Hall, 1988, ISBN 0-13-110362-8 (paperback), 0-13-110370-9 (hardback).

    • Targeted audience: computing professionals who already know many computing concepts (but not C)
    • Approach: Reference book — the standard reference for the C programming language
    • Style: Terse with use of common technical terms

Additional references follow:

Course Work

Course Work will involve a combination of several activities. Submission instructions vary somewhat according to the type of the assignment.

Since many of these courses-related activities involve in-class discussion, small-group activities, and collaborative lab work in pairs, all students are expected to attend each class. A modest number of absences might be anticipate for college-sponsored activities, for emergencies, and for illness (see notes below). However a history of several unexcused absences may have a significant impact on grades on various course componenents and on the final course grade.

A Note on Typos

Planning and development of materials for this course represent an extensive effort:

Although the developers have read, re-read, and refined the materials extensively, one can be confident that typographical errors remain.

If you find an error, if something does not read well, if deadlines on one page do not seem to match those stated on another page, etc. — don't panic (or use colorful language). Rather, please talk to the instructor (nicely please). Thanks!


While the schedule for this course is expected to evolve, a Tentative Class Schedule is available at schedule.php.

In addition, a reasonably detailed, day-by-day outline of course work is available through the base page for each module.

Dates, Deadlines

The University of the South offers alternative options to complete academic work for students who reserve religious holy days. Please contact me within the first three weeks of the semester if you would like to discuss a specific instance that applies to you.

Normally, laboratory write-up, project, or program is due every third class meeting. Laboratory exercises, projects, and supplemental problems all require work to be submitted in paper form at the start of class. Work submitted more than 10 minutes after the start of class will be considered late and thus subject to a late penalty.

Deadlines are shown on the Tentative Class Schedule , and work is due at the start of each class specified. A penalty of 25% per class meeting will be assessed for any assignment turned in late, even work submitted in the middle or the end of a class. For example, paper printed at the start of class will inevitable be turned in after the start of a class, and thus will be considered late. Print your materials well before the start of class!

Exceptions to the deadline policy and its penalties:

Emergencies, Illness

Although dates for labs, programming assignments, tests, and the final exam are firm, I understand that circumstances arise when you are not able to attend class.

Absolute Deadline: All homework must be turned in by Wednesday, May 3, at 5:00 pm;
laboratory reports, projects, or programs received after that time will not be counted in the grading of the course.


Collaboration often will be allowed on laboratory exercises and problems from the textbook, but collaboration normally will NOT be allowed on supplemental problems and tests. To avoid confusion, the rules for collaboration on homework are included in the specification of each assignment.

Pair Responsibilities

Work on labs and projects in this course is often done collaboratively (in pairs, occasionally in a group of three). Many studies suggest substantial benefits to learning with this type of group work. However, to be successful, collaboration requires partners to actively participate.

Failure to meet one's responsibilities to a group not only impacts the individual, but also impedes the education of the partner. Thus, except in exceptional circumstances (e.g., illness, family emergencies, serious injury), failure to follow through with one's responsibilities as a partner may have a significant impact on one's course grade and/or one's standing in the course. See Responsibilities for pair programming for details.

Academic Honesty

All work in this course is governed by the rules of the college regarding academic honesty. In summary, standard practice requires that you must acknowledge all ideas from others.

Cell Phones, Text Messaging, and E-Community Devices

Cell phones, text-messaging devices, and other social-networking connections may not be used in this class. If you bring such equipment to the classroom, it must be turned off before the class starts and stay off throughout the class period. Use of such equipment is distracting to those nearby and will not be tolerated.


The University of the South is committed to fostering respect for the diversity of the University community and the individual rights of each member of that community. In this spirit, and in accordance with provisions of Section 504 of the Rehabilitation Act of 1973 and the Americans with Disabilities Act (ADA), the University seeks to provide students with disabilities the reasonable accommodations needed to ensure equal access to the programs and activities of the University. If you have a disability and require accommodations in this course, you have the responsibility of presenting your instructor with a copy of your academic accommodations letter from the University Wellness Center (931.598.1270). Accommodations will not be provided without this documentation, and accommodations cannot be applied retroactively. Additional information about disability accommodations can be found here.

If you have questions about physical accessibility, please inform your instructor so that we can ensure an accessible, safe, and effective environment.


This instructor's grading philosophy dictates that the final grade should ultimately be based upon each student's demonstration of her or his understanding of the material, not on the performance of the class as a whole nor on a strict percentile basis. The following scheme is proposed as a base for how the various assignments and tests will be counted in the final grade.

Lab Write-ups: 15%     Supplemental Problems: 20%     Projects: 20%     Hour Tests: 25%     Exam: 20%