Skip to content

RyanMarcus/2ndSemesterProgrammingAssignments

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.

Brandeis Uniersity COSI 12b Assignments

This repository contains Java programming assignments suitable for second semester undergraduate computer science students. Each problem (except the Twitter problem) comes with a set of unit tests that have fairly good coverege of possible errors. It is recommened that instructors release these unit tests to students and invent another, hidden set of tests to ensure that students do not over-fit the given tests.

Assignment listing (E)asy, (M)edium, (H)ard

  1. (M) PA1: warmup with some "balancing" problems, like checking parenthesis
  2. (E) PA2: Game of 15. Basic interaction with other people's code / libraries
  3. (E) PA3: leaky abstractions, string injection, and timing attacks
  4. (M) PA4: Statistics. Covers interfaces, abstract classes, and mathematical reductions and mappings
  5. (H) PA5: Routing. Use Map and List to represent a graph and execute common graph algorithms on them.
  6. (E) PA6: make a word cloud of tweets from Twitter using the Twitter API
  7. (M) PA7: make a very basic question-answering system using "is-a" relations
  8. (M) PA8: learn data compression techniques (APIs, data manipulation) competitively
  9. (E) PA9: model a library system using object oriented approaches and save the resulting representation to JSON.
  10. (H) PA10: compilation and interpretation. Build an interpreter and a compiler for a simple arithmetic expression language

This order is the order that assignments were given out in Spring 2016 at Brandeis. It would probably make sense to swap PA7 and PA5, as PA5 was a bit more difficult.

To "compile" any given assignment, just run make in the appropriate directory. This requires Pandoc.

Terms and Conditions

Creative Commons License
Cosi12b Assignments by Ryan Marcus is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

About

Programming assignments suitable for 2nd semester undergraduates

Resources

Stars

Watchers

Forks

Packages

No packages published