This is an online version of our Fundamentals of Computer Science I (CSCI 135) course.
In Spring 2016, the course takes place from 1/18 to 5/3.
During the course you will be completing series of 10 programming assignments and a final programming project.
Your programs will be graded by a teaching assistant employed by our department.
The programming assignments are each worth 30 points, the final project is worth 60 points.
You will receive a letter grade based on your percentage of points earned on all assignments and the project.
Note that this course is not being offered for credit. However, students who successfully complete the course can receive credit for CSCI 135 for a minimal "challenge" fee.
||An introduction to problem-solving methods and algorithm development. Stresses programming in a high level programming language with techniques of good programming style.
||Introduction to Programming in Java: An Interdisciplinary Approach by Robert Sedgewick and Kevin Wayne
||Class web page
||Assignment submission and grading feedback
||Via email with the course TA
We recommend the freely available Eclipse integrated development environment (IDE).
Eclipse is installed on the Museum, Engineering, and Main lab computers.
You can also install it on your own computer (see the resources page).
||Staff discretion (participation and extra-credit)
See the assignments page for the late policy regarding assignments.
Note: submitting assignments on time is critical for doing well in this course.
Cheating will not be tolerated and can result in failure of the course.
Submitted programs must be entirely your own work.
Under no circumstances should you copy another person's code.
- E1. The student should have basic computer and Internet literacy. The student should be able to use a GUI desktop environment and common applications, such as word processors, web browsers, and e-mail clients.
- E2. The student should be calculus-ready, have a firm grasp of high school algebra, and have the ability to solve word problems. Alternatively, the student should have some programming experience and an adequate score on an instructor administered programming aptitude test.
- R1. Students will have an understanding of the components of a computer and how they interact to execute programs. (CAC-i,j; EAC-k)
- R2. Students will be able to use an editor and a compiler/interpreter to write and execute programs in a high level programming language that implement given requirements. (CAC-c,i,j; EAC-k)
- R3. Students will understand and be able to use data types, variables and constants, and use assignment, arithmetic and Boolean expressions in writing programs. (CAC-c,i,j; EAC-k)
- R4. Students will understand and be able to use basic selection and repetition control structures. (CAC-c,i,j; EAC-k)
- R5. Students will understand and be able to use one and two-dimensional arrays and structures. (CAC-c,i,j; EAC-k)
- R6. Students will understand and be able to use basic object oriented techniques in program development. (CAC-c,i,j; EAC-k)
- R7. Students will understand basic GUI design and be able to write event driven GUI programs that implement given specification. (CAC-b,c,k; EAC-k)
- R8. Students will learn techniques for locating compiler errors including those that are not line specific, and for creating programs that compile without errors or warnings. (CAC-c,i,j; EAC-k)
- R9. Students will learn basic program failure analysis, fault isolation techniques, and run-time exception handling. (CAC-c,i,j; EAC-k)
- R10. Students will write programs using structured programming techniques and principles. (CAC-b,c,i,j,k; EAC-c,k)
Page last updated: January 13, 2016