CSC120 Computer Programming I: Fall 2016 Course Home Page
Time and Location
Tuesdays and Thursdays, 3:30-4:45PM, Witten Learning Center 160.
Mitsunori Ogihara (email: ogihara "at" cs "dot" miami "dot" edu, mogihara "at" m
iami "dot" edu)
Office: Ungar 310J
Phone: 305-284-2308 (I usually do not answer the phone)
Thursdays, 9:30AM to noon.
Appointments can be scheduled outside the hours - send email to
This course teaches the fundamentals of computer programming using Java.
It provides an introduction to Java programming.
The sequel CSC220 Data Strucures introduces the students to the more
advance concept of data structures. CSC120 inroduces to the more basic
principles in computing. The topics covered include (but not limited to):
MTH108 (prereq) or MTH140 (coreq) or MAS110 (coreq)
(This is the minimum math/stat requirement.
If you have already taken or are currently enrolled in
one of MTH141, MTH151, MTH161, MTH162, MTH171, and MTH172,
you don't have to any one of the corequisite courses.)
See the instructor if you have a question about the math requirement.
Stuart Reges and Marty Stepp,
Building Java Programs: a Back to Basics Approach,
CSC120 will cover Chapters 1 - 9 and 12 (excluding Chapter 3G).
The remainder of the chapters may be used in CSC220.
Course work and Grading
The course grade comes from quizzes, homework assignments,
exams, and labs/project.
There will be weakly labs, starting in the second week
of the course. The last two weeks of the lab sessions will
be devoted to a project.
Therefore there will be twelve regular lab sessions. The
regular labs will each contribute 3.25% to the final grade, with the
lowest score dropped. The project will contribute 7.25%.
Each regular iab takes place in the Computer Science Undergraduate
Lab on the 3rd Floor of Ungar Building. The lab instructor and
the lab assistant, if available, will guide the students through
the lab tasks. By the conclusion of its 115-minute period, a
student is expected to complete the work. On completing the
task, a student can ask the lab instructor or the assistant, if
available, for approval of the code and its operational
correctness. After receiving the approval a student may
leave the lab. If a student does not complete the tasks at hand,
he or she will receive partial credit.
No late submissions will be accepted unless
(a) the lab instructor has given a prior approval for a late submission
(b) the student submits a letter to requst accommodation from
his/her academic dean, academic advisor, or athletic advisor
to request accommodation.
Also, only in extenuating circumstances email submissions are accepted.
A student may work on the code separately on his/her personal
computer, but the code shown for approval has to exist in the
There will be two noncumulative midterms and one final.
The final covers the entire course. The contribution of the
exams to the grade is expected to be 42.0%,
where the final 28% and the higher of the two midterms 14.0%.
However, if the lower of the two midterm percentage scores is
higher than that of the final, then the two midterms will
contribute 14.0% each and the final 14.0%. In other words,
if the percentage score is X, Y, and Z for the first midterm,
the second midterm, and the final, respectively, then
the contribution of the exams is 14.0% times the top three
from the four values, X, Y, Z, and Z (Z is repeated twice).
The exams are closed-book exams but each student is permitted
to bring in one letter-sized paper as a cheat sheet. A cheat
sheet may be typed or hand-written. Both front and back of
the paper can be used.
Homework assignments (10%)
Homework assignments are given on a regular basis.
Homework assignments should be hand-written
with the name of the students clearly written on the paper.
Typewritten assignments will not be accepted.
The homework assignments will be equally weighted.
After dropping the lowest score, the homework assignments
will contribute 10% to the grade.
Without making prior arrangements
Homework assignments will be collected at the beginning of
class on the day they are due. No late assignments will be accepted.
Click this link
to access the lectures and the code samples.
Lab Assignments and Projects
for information about the labs and the project.
The link here may provide information
about the homework assignments.
The assignments will be provided as they become ready.
Schedule at a Glance
You can also to the course schedule as
Tips for Success
Read the textbook.
Read the book and use the self-check questions at the end of chapter
to make sure that you understand the concepts and syntax.
Be ready for the lab.
Each week look at the lab tasks beforehand to understand what you will be
working on during your session.
Get started on the assignments early.
Often the subject of a homework assignment is related to the upcoming lab.
Rather than working on the assignment after the lab, try to work
on it before the lab.
Experience is very important in learning how to program.
Install Java SE on your computer (visit Oracle JAVA SE Download Site)
to obtain the latest version of Java and run it on your machine.
The CS Department holds open labs on Fridays in Room 305 (from 11AM to 5PM).
You can come to pratice programming and the TAs will help you with any
questions you might have.