CMC LogoCSCI 51-01, Introduction to Computer Science

Spring 2009

Dr. Joshua Stough , Adams Hall 201

Tue, Thu, 9:35AM-10:50AM
jstough@cmc.edu, x607-0938 or (919) 357-0604
Roberts North 12
http://www.eg.bucknell.edu/~jvs008/CS51S09/CS51S09.html

 

Sakai login page.

Course Schedule 
 

Overview
The two major learning objectives of this course are first, to know how to develop algorithms to solve problems, and second, to know how to program these algorithms efficiently in the Java programming language. An algorithm is a means of solving a problem in a deterministic, reproducible, "thoughtless" fashion.  While coming up with an algorithm is anything but thoughtless, an algorithm's execution takes no more than simple arithmetic, logic, and memory, commodities in great supply in a computer. We will express our algorithms in English, then translate them into the Java programming language. During the course, you will learn how to use loops, conditionals, functions, arrays, and classes. These are the building blocks which we will use to create increasingly complex programs. This course begins the Computer Science sequence and major.

Is CSCI 51 For You?

  1. Although this course has no prerequisites, a basic background in math, especially algebra, is desireable.
  2. I assume basic computer skills (eg., using a web browser, writing email, using word processing applications, downloading and installing software).
  3. If you have previous programming experience, such as in a high school course, (especially, a Computer Science AP course) consider taking CSCI 62 ("Foundations of Programming") instead. If you are interested in taking CSCI 62 without taking CSCI 51, please see Dr. Stough first.

Time Commitment
During the course of CSCI 51, you will write several full Java programs. This can be a time-consuming process. Expect to spend 10-12 hours on each programming assignment (depending, of course, on the specific assignment). If you do not have this kind of time available to work on CSCI 51, you may want to wait and take it in a later semester.

Textbook (required)
How to Think Like a Computer Scientist, Java Version 5.0.1 (The book is available as a pdf.)
Allen B. Downey, Olin College

Registering for CSCI 51
If the course is full and you want to take this class, please see me.  Those unregistered students attending the first day and continuing to attend will be randomly selected as seats become available. There are typically a lot of drop/adds at the start and so you may make it in.

Attendance, Grading, Late Assignments
  1. Given the limited amount of class time and the fact that this course is meant to be compatible with those at Pomona and Harvey Mudd, attendance is very strongly encouraged.
  2. Grading breakdown: Exams 50% (2 x 10, 1 x 30),  Assignments 40%, Attendance and Participation 10%.
  3. Late Assignments lose 10, 15, 25, 25, 25% for each additional day late (no credit on the fifth day).  This scale may be delayed given the severity of your circumstances and my being informed of them in a timely manner.