Page 1

COM S 207 Programming -1 Java for non-majors Simanta Mitra, Ph.D. Department of Computer Science Iowa state University




Teaching Staff —  Instructor – Simanta Mitra ( —  Teaching Assistant – Joe Evans (

Text Book —  Java for Everyone, Cay Horstmann, Wiley, ISBN: 978-0-471-79191-1 We will aim to go over chapters 1 thru 7 of this textbook. Later versions of the book will also work. Note that we choose this textbook after much deliberation. This textbook uses an objects-last approach to teaching programming and we think that’s the best way to teach programming.


Course Website All course information will be posted on the standard ISU classroom portal at At this site, you will find all: —  learning modules —  quizzes and surveys —  blogs and discussion boards —  announcements —  assignments —  grades




Course Catalog Description —  Com S 207. Programming I. (3-1) Cr. 3. F.S. Prereq: Math 150 or placement into Math 140/141/142 or higher.

—  An introduction to computer programming

using an object-oriented programming language. Emphasis on the basics of good programming techniques and style. Extensive practice in designing, implementing, and debugging small programs. Use of abstract data types. Interactive and file I/O. Exceptions/ error-handling. This course is designed for nonmajors.


Course Objectives At the end of this course, you should be able to

—  read and understand programs written by others. —  write small scale programs using Java. —  figure out how to solve simple problems using the computer as a tool.

—  learn how to find information on the Java programming language.




Text book Organization We will go over the first seven chapters of the text.

—  Chapter 1: Introduction —  Chapter 2: Fundamental Data Types —  Chapter 3: Decisions —  Chapter 4: Loops —  Chapter 5: Methods —  Chapter 6: Arrays and Array Lists —  Chapter 7: Objects and Classes


Course Organization —  The entire semester is divided into three learning units (about five weeks each).

—  In the first unit, we will learn to write the simplest programs (chapters 1, 2, and some parts of chapter 5 of the text book).

—  In the second unit, we will learn about decisions

and loops and more about methods (chapters 3, 4, and 5 of the textbook)

—  In the final unit, we will learn about objects and then about arrays (parts of chapters 7 and 6).


Course work —  Each learning unit will take about four weeks – and one

additional week will be spent on review – followed by an EXAM. Thus, there will be THREE exams. Exams will be comprehensive.

—  Each week, there will be reading assignments and quizzes.

—  There will be homework assignments about every two weeks. These will require simple programs.

—  There will be about four to five (more substantial)

programming assignments throughout the semester.


What is difference between Quiz, selfCheck, Survey, Homework, Project? —  Quizzes/Self-checks are easy to do. Quizzes are graded, whereas self-checks are not.

—  Homeworks: These will give you practice and will involve problem solving and writing program fragments. These are harder.

—  Programming Projects: These are have you write

complete (and bigger) programs to solve some problem. This will be typically harder to do.

—  You can get help on homeworks and projects from TAs

and instructor. You cannot copy code and make changes and submit as your own. You MUST write your own code.



tet s asdas