Warning! This site is under development.
Welcome to ! The official course description for this class is:
The most successful software designers master a variety of languages, algorithms, and software design methodologies. In this course, you will examine the Unix approach to software design. You will ground that examination, in part, by developing programs that deepen your understanding of advanced techniques of the C programming language. Includes laboratory work.
In other words, we will help you think in C and Unix/GNU Linux.
Our major objectives for this course include:
Please read my policy on accommodations and adjustments and my statement on accessiblity.
This course is offered for one credit and is graded as S/D/F. College guidelines dictate that one-credit courses require about forty-five hours of total work. All students are expected to …
Students who meet these criteria will earn a grade of S. Students who do not will likely earn a lower grade.
Chacon, Scott and Straub, Ben (2014). Pro Git, 2nd Edition. Apress. Also available online at https://git-scm.com/book/en/v2.
Mecklenburg, Robert (2004). Managing Projects with GNU Make, Third Edition. Sebastapol, CA: O’Reilly and Associates. Also available online at http://oreilly.com/catalog/make3/book/index.csp.
Raymond, Eric S. (2003). The Art of UNIX Programming. Addison-Wesley, Professional. Also available online at http://www.catb.org/esr/writings/taoup/html/.
Rebelsky, Samuel A. (2022). Don’t Embarrass Me; Don’t Embarrass Yourself: Thoughts on Thinking in C and *nix. An e-book (or something similar) in progress available at http://www.cs.grinnell.edu/~rebelsky/musings/index-cnix.
Here are some other things you might find useful.
Gancarz, Mike. 1994. The Unix Philosophy. Digital Press.
Kernighan, Brian W. & Ritchie, Dennis, M. (1988). The C Programming Language, 2nd Edition: ANSI C. Upper Saddle River, NJ: Prentice-Hall.
Your classmates and partners depend on your contributions to learn new material and complete the required work for this course. Don’t let them down! You are expected to arrive on time and actively participate in every class.
If you are sick, please do not come to class. Stay in your room, rest, and seek medical care as needed. Student Health and Counciling Services (SHACS) offers health and mental health services to students.
Because much of our work in this course involves collaboration and discussion, you will be evaluated on your participation. Participating in class involves:
In my experience, students come to this class with incredibly varied backgrounds.
Please read my policies on academic honesty and the CS department’s academic integrity policy. I expect you to follow these policies.