Welcome to
CS210 Intermediate Programming with
Data Structures
Betty (really Elizabeth)
O’Neil
Department of Computer Science
University of Massachusetts
Boston
Goals
A student who successfully completes CS210 should:
-
Understand and be able to apply fundamental
algorithms and data structures
-
Understand basic analysis techniques
-
Understand and use the Java Collections Framework
-
Be prepared for the next CS course, CS310
– Advanced Algorithms and Data Structures
Web Page
The source for all things CS210
-
Schedule
-
Syllabus
-
Homework assignments
-
Lecture notes
-
Contact information
Your teacher—Betty O’Neil
Contact Information
Office: S-3-169
Office Hours
TuTh 3:30-5:00pm
Email - eoneil@cs.umb.edu
Phone: 617 287 6455
Textbook --go over syllabus
Note: if you see you're not ready for CS210, consider
CSIT115, the second half of CS110 (roughly)
offered MW 16:00 by Robert Cohen
Homeworks
Three types of assignments:
1. There are 7 programming assignments (PAs)
Start easy and get harder as the semester goes on
Each worth 4-5% of your grade, about 30% total.
2. Written assignments (HWs)
Total of about 10% of your grade
3. Lab assignments (no lab first week)
Total of about 10% of
your grade
Exams
Midterm
about 20 percent
Final Exam
about 30 percent
Final Grade
Your final grade will be determined from the sum of your
homework and exam grades (simple point system)
Honesty, incompletes
-
Cheaters will be caught
-
All assignments are individual assignments
-
NO COLLABORATION ON CODE
-
All exams are to be your own work
-
See the code of student conduct
You can discuss concepts, but not share code or written
details
You can only get an incomplete if you are passing the course
and cannot complete the course
(Not if you are failing and want to take the course
again)
Working from home
You can set up the same environment at home as in
the PC labs here, or better
We provide no support
Software is free, and you have a choice
of IDEs.
Dr. Java--simple, used in labs
JBuilder--a little more complex
eclipse--the really complicated powerful IDE we use in graduate courses
for web development
editors (not really an "IDE"): emacs has Java support, but debugging is
harder. Best to learn a real IDE now.
See the “Install at home hints”
on the course home page
Getting Extra Help
The Math Resource Center offers tutoring
30 Minute Sessions, By appointment only
- Enter the new CAMPUS CENTER using the plaza-level door.
- Go straight down the corridor and look for signs on the left
saying: 1300 Street
- Enter the doorway and go to the right,
looking
for signs saying: ACADEMIC SUPPORT.
Call 617-287-6550
Qualifying Assignment
Everyone must pass the Qualifying Assignment to
stay in CS210
Demonstrates that you have met the prerequisites
Write some classes, given their
Javadoc.
Code from the book is available via link from class web page "Textbook
Code". These may be helpful, esp. if you are rusty at Java:
Simple class: Date.java of Chapter 3. Class with
array as field: StringArrayList.java of Chap. 3 Class with
ArrayList in use: ReadStringsWithArrayList.java of Chap. 2
No need to actually build the program (you can if
you wish)
No need to use Java 5 constructs--you can if you want.
Please hand in typed or neat handwriting, formatted
code
Due Thursday at the beginning of class
We will grade it and have it back by class time
Tuesday
, so you can drop the class if you need to
You must work alone on this assignment
Read the handout now
I’ll be available by email tomorrow and
Thurs.
Coding
Conventions
Conventions make the code more readable (by humans)
Make sure you review the Java Coding Conventions:
Highlights:
Package names begin lower-case (e.g.
java.util )
Class names begin upper-case (Student, HashMap)
Method names begin lower-case (except constructors)
Indentation is four (4) spaces
Beginning braces on same line, closing aligned with
initiating keyword, or like Weiss, pg. 46 example.
Class field names begin lower-case, no special
prefix conventions (e.g. m_ , etc.) (Weiss pg 96 class Student, with name,
age, etc. Could be phoneNumber)
Class fields can be at start or end of class.
One statement per line
Commenting Conventions
For CS210, every class and method should have a
javadoc
comment
/**
* The comment goes here
* @param …
* @return …
*/
See Weiss, pg. 126 for an example (though not used in most
examples)
Use other comments where they add clarity