This is the first semester course in computer science. It offers an introduction to computer science and programming principles using Java as the programming language of instruction. (Note that this is primarily a computer science course and not a programming course.) We will cover basic object oriented techniques, including classes and objects. We will also cover the basic computer science tools such as selection, definite and indefinite repition, methods and parameters. We will cover good programming techniques and will reinforce them in this class. The goal of this class is for you to leave with an effective working knowledge of the basics of computer science, programming, and the Java language upon which to base the rest of your CS studies upon.
Books:The midterm exam is scheduled for Oct 17 or 18 (depending on whether you are in the MW or TR section).
The final exam will be scheduled by the college.
Students with special needs:
Anyone who has special needs should contact me in the first week of classes so that reasonable accommodations can be agreed on.
Academic Integrity:
See http://www.bridgew.edu/Handbook/PoliciesProcedures/academicintegrity.htm for a complete description of the academic integrity procedure at Bridgewater.
Academic integrity will be taken very seriously in this class. All individual work must be your own. If you cheat or otherwise represent the work of others as your own. You will receive an F for the course.
Guidelines for proper academic integrity:
Discussing problems with your classmates can help you understand the problems and kinds of solutions to those problems that you will learn about in this class. In an effort to make in clear what sort of discussions are appropriate and encouraged in this class and which cross the line to academic dishonesty I use the following guidelines: You may discuss any out of class problem I assign in this class with your classmates or other so long as no one is using any sort of recording implement including, but not limited to, computers, pdas, pens, pencils, phones etc. This lets you talk about theoretical solutions without sharing the actual implementations. As soon as anyone in the group is typing, writing etc, all conversations must stop. You may look at someone else's program code only very briefly in order to spot a simple syntax error. As a rule of thumb, if you find yourself looking at someone else's code for more than about 30-45 seconds it is probably time to stop. If you are having trouble with your program, come to the instructors office hours for more help.
All in class exams and quizzes are closed book and closed neighbor. If you are found using a data storage device of any kind during one of these evaluations, you will be failed for the course.
Standards for in class behavior:
You are all adults and are expected to act as adults in this class. While questions are encouraged in this class, if a particular line of questioning is taking us too far afield, I will ask the student to come by my office hours or to see me after class.
Cell phones, pagers, electronic organizers and other devises should be silenced while in class. If you work of EMS or something similar, please turn your cell phones/ pagers etc to vibrate mode so that you are not disrupting others in the class.
In the unlikely case of trouble makers in the class, those who are simply attempting to disrupt the class will be asked to stop; those who will not, will be referred to the college for appropriate action.
For those who find that they are in over their heads:
Computer Science is a hard subject. Most people can master it only with hard work. A few may well find themselves in over their heads without realizing it earlier. Getting an excellent grade in this course (an 'A' or a 'B') will require you to earn it through your performance in the regular course material. For those having exceptional difficulty, I will offer the opportunity to do an extra credit scholarly paper later on in the semester. The paper will be worth up to a 5% increase in your grade, but it cannot raise your grade above a 'C'.
I do
not take regular
attendance. Because of the census day regulations, I'll have to take
occasional attendance. You are adults and are paying for this class. If
you miss a class, you are expected to get notes from a classmate and
familiarize yourself with the material that was covered before
returning to class. I do find from dealing with students in the past
that attendance at lecture is highly correlated with doing well in my
classes.
Week | Topic | Assignment |
Week 1 | Introduction to class and CS/computers and programming | Project 1: intro to Unix |
Week 2 | Modeling and some simple UML | |
Week 3 | Intro to Java programming and objects. | Project 1 due Project 2 creating objects |
Week 4 | Methods and Parameters | Project 2 due Project 3 using objects/calling methods |
Week 5 | OO-concepts, Encasulation etc and creating your own classes | |
Week 6 | Allowance for topics taking longer than planned. Monday holiday. Math and constants |
Project 3 due Project 4: writing your own classes |
Week 7 | finish topics/Exam review/ Midterm Exam | Project 4 first part due |
Week 8 | Strings (java and general computer) and text input/output | |
Week 9 | 2d Graphics and Graphical user interfaces | Project 4 Due Project 5:using java libraries Assigned |
Week 10 | Selection and Repitition | |
Week 11 | Selection and Repitition part II | |
Week 12 | Collections (thanksgiving week) | Project 5 Due Project 6 assigned |
Week 13 | Collections II | |
Week 14 | Social issues in computing and java's place in the programming world | |
Week 15 | Wrapup and Exam review | Project 6 due |