Contact Information

Instructor: Jim Crumley
Office: 107 Peter Engel Science Center
Phone: 363–3183
Office Hour:1 pm even days (or by appointment or just stop by)

Course Information

Lecture: 8:00–9:10 am Days 246
Room: 167 Peter Engel Science Center (Some day 2s in 212 PE)
Textbook:C++ Primer Plus by Stephen Prata
Web Site:


Computer programming is a skill that is fast becoming essential for scientists and engineers. There are a wide variety of forms of programming that you might run into from programming calculators, to spreadsheets, to mathematical software, such as Matlab and Mathematica, to scripting languages like Perl or Python, to compiled languages like C++ or Fortran, to assembly language. In this class, we will attempt to give you a foundation of basic programming concepts and techniques. Only compiled languages will be taught in this course, but much of the structure of good programming carries over to other areas.

This course will be taught in C++, with some reference to Fortran and other languages. For those of you more interested in Fortran or some other programming language, you are free to write your programs in that language.

Homework Assignments

Homework will be assigned every day 2 and will be due the following day 2. Beware that computer programs can take a long time to debug. Do not wait until the night before an assignment is due to work on a program. Also, let’s try to run this class in fairly “paper-less” manner. I’ll post the assignments online and the finished products should be emailed to me. Points will be lost for not following those direction.


This course is officially an intermediate (200) level course. Physics majors are required to take 6 credits of advanced (300) level electives. Those of you who would like this course to apply toward your elective requirement can complete an extra programming project. This project will be on a physical problem of your choosing. I’ll give you more details on this later.


Plagiarism can be a problem in computer programming courses. While it is encouraged that you share ideas with your classmates in order to learn how to program, it is not acceptable to copy programs from others, make minor changes, and pass them off as your own. The CSB/SJU’s policy on plagiarism, which is in the course catalog, will be followed in this course.


The one test for this course will be given on the final day of classes.


During most classes periods there will be in-class quizzes (quick checks). There may also occasionally be other in-class exercises or out of class quizzes which count as part of this grade.


Grading for this class will be based on grades on homework assignments, quizzes (all of them together count the same as a homework assignment), the test (counts twice as much as a homework assignment), and projects (counts twice as much as a homework assignment) for those of you who do them.