Giter Site home page Giter Site logo

2ndsemesterprogrammingassignments's Introduction

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.

2ndsemesterprogrammingassignments's People

Contributors

ryanmarcus avatar

Watchers

 avatar  avatar  avatar

Forkers

jrheard

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.