University of Maryland/Asian Division

CMIS 102A Fundamentals of Programming I

DE Term 5: 5 Jun 2006 - 20 Aug 2006

David Wills

(Not open to students who have taken CMIS 340.) A study of techniques for finding solutions to problems through structured programming and step-wise refinement. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive whole. Presents the foundations of structured and object-oriented programming. Techniques of software development are set forth and applied in a series of programming assignments using the Java language. Students may receive credit for only one of the following courses: CMIS 102, CMIS 102A, or CMSC 101.

On successful completion of this course the student will:

You'll learn programming by making several programs that solve some commonly encountered computing problems. You'll also gain an understanding of OOP, a term you see popping up here and there.

Learning Java, like learning a foreign language, takes time and effort on your part. The only way to do it is by practicing. Unlike human beings, who are understanding and often interpret what you say in their own ways, a computer takes you word for word. The computer, the compiler to be more precise, will reject your program for even tiny mistakes such as missing a semi-colon, or using "Float" for "float" (see the difference?). So you may find yourself spending a lot of time at the beginning trying to hunt down all these errors. But you'll find it very rewarding when you finally make a computer do what you want it to do.

Learning programming is also a great way to improve your problem-solving skills. To tell the computer what to do, you need to know the solutions first. And then you need to instruct the computer in a precise way. You'll see the effects of errors in your solutions right away . the program doesn't produce the expected numbers or messages. The activity of programming thus forces you to examine your thinking closely.

JAVA: An Introduction to Computer Science & Programming, 4th Ed., Walter Savitch, Pearson Education, Inc., ISBN 0-13-101378-5.
We will cover chapters 1, 2, and 3.
Textbooks can be ordered online at the Asia DE Web site,
Books ordered from any other source will be at the students own risk. UMUC Asia DE cannot be responsible for problems encountered when textbooks are ordered from sources outside of the Asia DE Web site.

Java 2 JDK 5.0 (which allows you to make Java programs and run them). It can be downloaded for free. JCreator LE (from XINOX Software) will be used as the default IDE (integrated development environment, a program that facilitates developing of Java programs). It can also be downloaded for free. Instructions on setting up these programs will be given in the class.


   Proctored Exam: 40%
   Assignments:    60%

All Web courses have a required proctored examination. Students are responsible for scheduling their appointment to test with the UMUC Field Rep office where they registered for their classes, normally the week prior to Proctored Exam Week. For complete instructions regarding proctored exam procedures go to the Asia DE Web site at, and select the .Proctored Exams. link.

The grade of 'A' means "outstanding", i.e. mastery of the material. The grade of 'B' means "good". The grade of 'C' means "satisfactory".
Grades are curved and related to the class average. "Significantly above" the class average are the A's, "above" (or sometimes even at) the class average are the B's, at or below the class average are the C's. Significantly below the class average are the D's and F's.
Usually, in the 90's is an A, 80's is at least a B, 70's is at least a C.

PENALTIES: There are penalties for late work. All work must be submitted as specified.

INCOMPLETES: The grade of I is exceptional and given only to students whose completed course work has been qualitatively satisfactory but who have been unable to complete all course requirements because of illness or other extenuating circumstances beyond their control. The grade of I may be considered only for students who have completed at least 60 percent of the total course work requirements and who have received a passing grade on all the course work which they have completed. the instructor retains the right to make the final decision on granting a student's request for an I, even though the student may meet the eligibility requirements for this grade.

POLICIES, PROCEDURES AND GRADES: IAW with the University of Maryland, University Catalog, Asian Division, and the Student Handbook (current editions). These cover essential information such as attendance, grading, make-up work and plagiarism.

MISCELLANEOUS: * Students are expected to spend between two and three hours outside of class on course materials and preparation for every one hour spent in the classroom. e.g. a UMUCAD course meets for approximately 5 hours per week and you will be expected to spend between 10 and 15 hours additional time outside of class on course work for an average of 20 hours per week.

For administrative assistance: contact
SDES students should contact:
For WebTycho assistance: contact For WebTycho assistance on Saturdays and Sundays:
For proctored exam procedure information, please visit the DE Asia Website at and click on 'Proctored Exams'.
Support for Asian Division Students is also available by phone at 225-3696 (DSN) or 81-42-552-2510 Ext. 5-3696 (international comm.), Monday - Friday 7:30 a.m. - 4:30 p.m. (JST).

Academic Policies are not course specific and are therefore created and housed separately from this syllabus. You may access and print Academic Policies from the Syllabus sub-menu in your classroom.

ASSIGNMENTS: The following is a tentative list of assignments and project(s) that will be required for the course. A detailed explanation will be provided at the beginning of the course. (Assignments are subject to change.)

Week 1
       Administrative.  install software
Week 2
     Savitch 1           math review   variables
Week 3
     Savitch 1           applets      I/O
Week 4
     Savitch 2            expressions   
Week 5
     Savitch 2            drawing
Week 6
     Savitch 2
   Reading/Preparation    selection
Week 7
     Savitch 3            logic
Week 8      
     Savitch 3            iteration
Week 9
   Proctored exam
Week 10
     Savitch 3            while statement
Week 11
   More programming!