Links
Course
Schedule
Harris Schedule
and office hours
TA Schedule
Policies
Programming
Assignments
Resources
Software
References
Collaboration Policy
Exam Review
|
General Overview
This course offers an introduction to the art of computer
programming and assumes that you have had no prior experience in
programming. This course focuses on thinking algorithmically and
problem solving while learning how to program a computer in a
high-level language. General principles regarding programming,
algorithm design, procedural abstraction and problem-solving will be
covered. The backdrop for learning computer programming is the Java
programming language by Sun Microsystem. Java is an object-oriented
language that has gained popularity in recent years as a highly
portable, well-constructed programming language. The core of Java is
rather small, but the libraries that extend it will seeem boundless.
We will be studying the core pieces and many parts of the libraries.
The best way to learn to program is to practice. We will be doing a
lot of practice!
Prerequisites
- There are no prerequisites to this
class.
Overall Objectives
- Develop clear and correct algorithms to solve problems on
computers.
- Read an dinterpret precise program specifications and develop
Java programs from those specifications.
- Apply software engineering principles to programming.
- Test programs and efficiently locate operating flaws (bugs) in
those programs.
- Understand some of the ethical issues related to computer
programming.
- Programming practice, practice, practice.
Description of course practices
The lecture days will include a
theoretical discussion of programming concepts and features. The lab
days will permit students to practice what they have learned in
lecture or read in the assignments. Labs will consist of either
experimentation, program development or both. If a student finishes
the assigned lab exercise early, time to work on programming
assignments is permitted. Students may help one another in lab, but
must turn in their own completed labs unless otherwise directed. In
general, labs will have an assigned task, so should not be viewed
as“study hall”.
Labs may take longer than the lab period provided. Labs are due no
later than the beginning of the next lecture period.
In addition to lab work, students will have assigned programming
projects which are longer term assignments combining many of the
individual skills practiced in lab. Programming projects must be
completed on one's own with help from the TAs and the instructor for
the class only.
We will use Blackboard and the web as
a means of communicating. Announcements for class will be made on the
Blackboard announcements page or the course web page if Blackboard is
unavailable. Any other announcement that you receive through other
means (such as e-mail) is suspect unless confirmed by Blackboard or
the course web page. If I send an e-mail to the class as a whole, I
will also put the text into a Blackboard or web
announcement.
Coding Standards:
- All code written and turned in for a grade must adhere to a set
of coding standards. We will cover such standards in class. This
includes lab assignments as well as programming projects. These
standards will follow normal Java coding standards as well as
some specialized requirements for this class.
|
Textbook and Required Material
- Gaddis, Tony (2008):
- Starting Out With Java: From
control structures to objects. 3rd ed. Addison-Wesley.
ISBN 0-321-47927-0. Provides concrete examples of programming
concepts and implementation techniques using the Java language
as a base.
NOTE: You may use the 2nd edition text instead of the 3rd if
you can find it.
- Java web site:
- http://java.sun.com/j2se/1.5.0/docs/api/
- JAC Card:
- There may be times in lab that
you need to print a worksheet, a completed assignment or other
work. You must have your JAC card with you and some money on it
for printing. Make sure that you have a couple of dollars on
the card each day. JAC cards can be loaded in cash at the DART
machine located in the HHS basement and other places around
campus. Printing can also be done in the Copy Center located on
the first floor of the HHS building.
- Backup Media:
- It will be important that you
have a backup device available to use in the lab. While you
will get some network space, sometimes the network goes down
and you need some way to continue working. Lab machines do not
provide a permanent save. When the machine is logged out, your
work is lost.
Grading
Exam 1 |
15 |
Week
6 |
Exam 2 |
20 |
TBD |
Final Exam |
25 |
December 11, 2007
(Tuesday) 7 - 9pm |
Programming Assignments |
20 |
|
Labs and participation |
20
|
|
Exams and programming assignments are
graded on a 100 point scale. Letter grades correspond to 10 point
ranges...90 - 100 = "A", 80 - 89.999 = "B", etc. "F" is used for work
below 60%. For labs and homework, grading will be A(100), B(85),
C(70), F(50), or 0.
Class Policies and Student Success
See the link to the left for general instructor policies. Specific
policies and items which will insure your success in this class
are:
- Come to class, come to class, come to class -
Students who attend class regularly will keep up with the
workload better, will gain insights from talking with classmates
or the instructor, and will do better in this class as a
result.
- Workload -This is a four(4) credit hour class.
There is considerable outside work expected. More work will be
done at the end of the semester than at the beginning. Be sure to
get started on programming assignments early as these may be more
difficult than they first appear.
- Late assignments - All lab assignments and
homework are due at the beginning of class on the day that they
are due. No late assignments will be accepted for credit,
although I will review late assignments at your request to help
you to learn. For programming projects, late assignments will
have a per day penalty associated with them.
- Exams - We have two midterms and a final exam.
All sections of CS139 take the exams on the same day. The final
exam will be held at a common time, scheduled for Tuesday December 11 at 7pm. If you
have an academic conflict with this exam times, please let me
know NOW! We will resolve
these conflicts with a make-up time that suits schedules of those
affected.
- Honor Code -Every semester I have incidents of
students who fall behind in their work and cheat on programming
assignments in some fashion. I report ALL incidents of academic
dishonesty to the Honor Council. If the violation is severe, I
will refer it to the Honor Council for formal resolution. Less
severe violations may be handled informally. If you know of
cheating in this class, it is your responsibility to let the
instructor know as soon as possible. If you are involved in a
situation where you are not sure if what you did was right,
please see me.
- Extra Credit - I generally do not have extra
credit opportunities. This class involves many different types of
graded work. Keep up with the work and you will not need extra
credit.
- Student Success - You will be successful in
this class if you:
- Attend class and lab each day.
- Ask for help when you need it. We have TA assistance in the
evening and weekends, and I have plenty of office hours. I
will be happy to make a special appointment if you cannot
meet during normal office hours.
- Get started early on assignments.
- Think about what you are doing...don't just do.
- Experiment with the language and assignments and talk to
your colleagues during lab time.
- Don't put yourself into a position of providing
unauthorized help to another student.
- If you need additional resources to help you with your
learning, let me know. Additional reference books may be
placed in the library upon request.
Students with
Disabilities:If you are a student with a documented
disability, who will be requesting accommodations in my class, please
make sure you are registered with the Office of Disability Services,
Wilson Hall, Room 107 (568-6705) and provide me with a copy of your
Access Plan letter outlining your accommodations. I will be glad to
meet with you privately during my office hours to discuss your
special needs. The sooner you can do this, the better I can assist
you in meeting your learning goals in this course.
Student
Responsibility: Student
are responsible for adding and dropping courses via e-campus. The
last day to add a course for the Fall 2007 semester is Thursday, Sept
13, 2007 (signatures required after Tuesday, Sept 4, 2007). The last
day to drop a course for the Fall 2007 semester with a "W" grade is
Thursday, Oct 25. I do not give "WP" or "WF" grades to students
requesting a drop for poor performance after the deadline.
Religious
Observance: Students
who are unable to attend class due to religious observance may
request deadline extensions BEFORE the expected absence. I will do
my best to accommodate your special circumstances.
For clarification of these and other instructor policies please
refer to the policies link.
|