A systematic study of the methods of structuring and manipulating data in computing.
Application programming interfaces (APIs), data abstraction, and the encapsulation of implementations, facility with the Java Collection Classes, Advanced techniques for program development and organization.
The design and analysis of algorithms, including run time analysis.
Familiarity with advanced algorithmic techniques such as divide and conquer, dynamic programming, graph algorithms and greedy algorithms.
Required: Algorithms (4th Edition) by Robert Sedgewick and Kevin Wayne, ISBN-13: 978-0321573513 ISBN-10: 032157351X website Also used in cs210. Algorithms and Java code.
Recommended
for code: Data Structures and Problem Solving using Java, by M. A.
Weiss, 4th Edition, Addison Wesley, 2010
ISBN-13: 978-0321541406,
ISBN-10: 0321541405.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 from
Amazon.
Review of and advanced algorithm analysis: Big O. The tyranny of growth rates.
Review of Collection classes, continued from CS210. Maps and Sets and the search for O(1). Looking for fast insertion and retrieval algorithms in various contexts. Recognizing the right collection for an application.
Hash tables, collision resolution techniques.
Algorithmic techniques: Divide-and-conquer, dynamic programming, greedy algorithms.
Data compression: Huffman’s coding, prefix codes in general.
Graph algorithms: Graph API and implementations. traversals, shortest paths, strongly connected components; spanning trees.
The following grading scheme is subject to (minor) change:
Item | Percentage |
---|---|
Projects and Assignment (Drop the lowest) | 50 |
Tests (Best 2 of 3) | 50 |
You must do your own work in this course. You are encouraged to discuss problems/projects with classmates, or to ask for help with debugging. When you do share ideas or get help you must acknowledge that help in writing. However IT IS NOT ALLOWED TO USE ANOTHER STUDENTS CODE IN ANY WAY WHILE DOING YOUR HOMEWORK, even if you acknowledge that. Solutions from previous classes are similarly off-limits.
The collaboration policy for cs210 is equally relevant to cs310. Please read it. It was written by Swami Iyer based on earlier versions of Ethan Bolker and Carl Offner. In addition to what's listed there, it is against the rules to post answers or partial answers in any place accessible to other students, for example as "backup". Make sure your backup area is private.
For cheaters (including sources of copying), I have a second-strike policy.
First strike – you get a 0 on the submission and a warning.
Second strike – you fail the course + a report to the higher administration
The University of Massachusetts Boston is committed to providing reasonable academic accommodations for all students with disabilities. This syllabus is available in alternate format upon request. Students with disabilities who need accommodations in this course must contact the instructor to discuss needed accommodations. Accommodations will be provided after the student has met with the instructor to request accommodations. Students must be registered with the Ross Center for Disability Services, UL 211, www.ross.center@umb.edu , 617.287.7430 before requesting accommodations from the instructor.
It is the expressed policy of the University that every aspect of academic life—not only formal coursework situations, but all relationships and interactions connected to the educational process—shall be conducted in an absolutely and uncompromisingly honest manner. The University presupposes that any submission of work for academic credit indicates that the work is the student’s own and is in compliance with University policies. In cases where academic dishonesty is discovered after completion of a course or degree program, sanctions may be imposed retroactively, up to and including revocation of the degree. Students are required to adhere to the Code of Student Conduct, including requirements for academic honesty, delineated in the University of Massachusetts Boston Bulletin, linked from: http://www.umb.edu/life on_campus/policies/community/code.