Department of
Computer Science
UMass Boston
Class: MW 7:00-8:15pm online. Details by UMB email.
Note that I have sent out the Zoom info. If you haven't received
it, please email me at elizabeth.oneil at umb.edu.
Please make sure you have a device with camera and microphone for attending classes, office hours, and exams, preferably the same system you also use for programming for this course.
Instructor: Elizabeth
(Betty) O'Neil
email: elizabeth.oneil@umb.edu
Office: M-3-201-20 (not available currently)
Office Hours: MW 1:30-3:00, F 2-3pm by Zoom
meeting 930 3005 8095, passcode in UMB email.
Course Description: A systematic study of the methods of structuring and manipulating data in computing. Application programming interfaces, data abstraction, and the encapsulation of implementations. The design and analysis of algorithms. Advanced techniques for program development and organization.
See the syllabus for a detailed list of
topics.
Prerequisites CS210, CS220, CS240.
Homework 1, Runtime Analysis, Java concepts, due
Monday, Sept. 21 on Gradescope Solution
Homework 2. JDK Classes and their elements, due
Monday, Oct. 5 on Gradescope Solution
Homework 3 Hashing, Inner Classes, More on Maps
and Sets, due Thurs, Oct. 29
on Gradescope Solution
Project 1 JDK Collections classes,
Interfaces Solution (both parts): pa1soln.zip
Part 1a due Sun Oct 11 by midnight (i.e., end of this day) on
users1.cs.umb.edu in ~/cs310/pa1
Part 1b due Thurs., Oct. 15 by midnight on users1.cs.umb.edu in
~/cs310/pa1
RegexTokenizer.java
Project 2 (steps)
Hashing and Map performance, due Friday,
Nov. 6 by midnight in your ~/cs310/pa2 directory on users.cs.umb.edu
pa2setup.zip
Late days on programming assignments: Each student has 5 late days for use over the programming assignments (the pa's, not the hw's). At most 3 days can be used on each assignment, totaling no more than 5 over the term. Write a note in your README file saying you are using 2 late days, or whatever, so I'll know when everyone's done.
Thanks to K. Malik for recording and cleaning up videos so that no faces are shown.
Wed., Sept. 9 slides (6pp) Introduction, slides (6pp) Runtime AnalysisTextbooks
Required: Algorithms, by Robert Sedgewick and Kevin Wayne 4th ed, by (also used in CS210) website Library sources
Recommended: Mark Allen Weiss, Data Structures and Problem Solving in JAVA (4th Edition), Addison Wesley 2010). website Not as good for algorithm explanation as Kleinberg and Tardos, but has Java code that we will be using for more complex applications than those in S&W. Can be rented (see eTextbook) from Amazon.You can do all your work on the Department's network of Unix systems, or you can work on your home computer and deliver projects to the Department's systems, but be sure to test them there. Either way, you need an account for cs310 at our site.
Apply for an account for cs310 as soon as possible, following the instructions listed in FAQ#02 on the departmental website.
Your official email address for the class is that of your UMB student account, of form xxx.yyy00z@umb.edu.
A Piazza group will be formed for student questions, etc. See below for link.
All material for this course will be kept in /courses/cs310/public_html
,
which we will abbreviate as $cs310
. It is visible from our
Unix/Linux network and on the Web as http://www.cs.umb.edu/cs310. This
file is $cs310/index.html.
Gradescope info How to submit homework, etc.
Our Piazza Site for questions and answers. Please use a private question if you include a code snippet.
Access to cs.umb.edu systems from offsite Logging in and transferring files.
Student Information Form (for the first class)
Development Setup Installing Java on your home system. Installing eclipse. A few things needed on cs.umb.edu hosts as well.
Unix/Linux guide here.
Java We are using version 8 (or 11 or higher). JDK API Language spec Java classpath explained. Java 8 Double-colon explained
Using your programs from CS210: See cs210support.zip It has a sample program built outside the cs210 VM. Start by reading the README.