Code Monkey home page Code Monkey logo

designproblemsexample's Introduction

Homework 1

Your task for homework 1 will be to implement design problems from CS 142. The problems can be found in QUESTIONS.md. your task is to discuss and implement three of them.

For each question:

  • Provide a short writeup explaining what the 'main problem' is, what decisions were made to most efficiently solve the problem. You should mention what the space and time complexity of your solution is. Add a short description of any classes you create for the problem and how they interact.

Your writeups should be done in markdown and added to the root directory of the repo (don't modify this (README.md) file. Nothing bad will happen if you do, though). You can look at this file for syntax. If you use a different guide for markdown, please add a link to it in your writeup. You may put all the writeups in the same file under different headings.

  • Create a folder in src/ and create any java files necessary to implement the basic solution. You may need to create multiple files to create all the necessary classes, but you don't need to add much functionality beyond solving the 'main problem'. Make sure the code for each problem is separated. Add clear and thorough comments to your code.

  • Write test cases in test/ to thoroughly and rigorously test your solution. Describe your test cases in your writeup. In particular, describe why you think you've covered all the important cases.

Your tests should all run and succeed using the testing plugin in the CodeSpace.

We will do Question 1 in class together. You may use any 3 of the remaining questions for your homework.

Grading criteria

  • Total points: 100
  • Each question is individually graded out of 30
  • There are an additional 10 points for the overall submission
    • All files are in the appropriate places (code files in subdirectories of src/, test files in test/ and writeup(s) in the base directory)
    • Tests run using the testing plugin on Codespaces

Per question

  • Thorough writeup: 10 points
    • You can lose points for missing information regarding your code or the test cases
    • You can lose points for poorly formatted markdown
  • Complete code: 10 points
    • You can lose points for poor comments or style
  • Thorough and well thought out test cases: 10 points
    • You can lose points for missing potential sources of error
    • You can lose points if your tests fail...

Notes

Questions about the lab should be asked in Slack in a public channel to ensure that everyone gets the answer. If there is a particularly important change to the assignment, I will post the update in slack/google classroom and pin it. See google classroom for due date. The due date listed on github classroom is the last chance to submit late.

You may google individual data structures and their time/space complexity, but you may not google any part of the question itself. No generative AI, including Bing.

For this assignment, the Codespace environment will automatically commit and push for you every 30 seconds, so you don't have to worry about that right now. In the future assignments, I will disable that feature so you can be in control of your commits and commit messages. You will be able to roll-back changes to individual files, but much of git's functionality may be limited for this assignment.

I referenced this link to remind myself how to embed links in markdown.

designproblemsexample's People

Contributors

bambabaa avatar infiniterik avatar

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.