Computer Science 124:
Introduction to Programming
WELCOME TO the on-line textbook for Computer Science 124: Introductory Programming, a course that was taught in the Winter term of 1998, at Hobart and William Smith Colleges by me (David Eck, email: firstname.lastname@example.org). The course was an introduction to the theory and techniques of programming, using Java as the language of instruction, with no prerequisites. Note that it is programming, rather than Java itself, that is the main point of CPSC 124. If you want to learn more about the course, see its information page. (Also, you might take a look at The Most Complex Machine, a textbook I've written that serves as an introductory survey of computer science.)
Please feel free to copy these notes and redistribute them, as long as you do not claim credit for them, or sell them without my permission.
Note: If you are interested in downloading this on-line text for use on your own computer, see the links at the bottom of this page.
You might want to look at the labs that I used in the course. These are available separately for download.
A "second edition" of this text, covering Java 1.1 instead of Java 1.0, is now available for downloading and for use online. Please see that version, at http://math.hws.edu/eck/cs124/notes/
- Chapter 1: Overview: The Mental Landscape
- Chapter 2: Programming in the Small: Variables, I/O, and Control Structures
- Chapter 3: Programming in the Large I: Subroutines
- Chapter 4: Programming in the Large II: Objects and Classes
- Chapter 5: Applets, HTML, and the Web
- Chapter 6: Components and Events
- Chapter 7: Arrays
- Chapter 8: Advanced Input/Output and Exceptions
- Chapter 9: From Java to C++
- Source code for applets in this on-line text.
- Tests and quizzes given during the Winter 1998 course based on these notes:
- Tests and quizzes given during the Fall 1996 course based on these notes:
If you would like to have a copy of the original version of the on-line text on your own computer, instead of reading it over the Net, you can download one of the following compressed archives. (You are also welcome to post an unmodified copy on your Web server, as long you are aren't charging anything for it.) I assume that you know how to decompress and use the archive once you have downloaded it. You can download an archive appropriate for your computer by following one of these links: