/CS146

Your one stop shop for everything CS146, the class taught by Anant Shukla

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

CS146

How to earn extra credit

You want to contribute meaningfully to this repository to earn extra credit. Each contribution is worth the same as submitting to an extra credit assignment in class.

Ensure that your contributions follow the Contribution Guidelines. If they don't, I won't merge your pull requests, and someone else might be able to steal all your hard work!

Remember, once someone merges code/ notes/ etc. to the repo, it's not a guarantee it's perfect. You can always raise new PRs which improve on what's on the Repo already, or raise issues that point out flaws/ areas of improvement.

Also remember to check this Readme/ other docs frequently, as things might change!

What counts for extra credit

Every subfolder you see is one potential area to earn extra credit.

  1. Homework

    a. Java Solution

    b. Python Solution

    c. Pseudocode

    d. Plain English Approach (This should match the Java/Python solutions)

  2. Labs

    a. Java Solution

    b. Python Solution

    c. Pseudocode

    d. Plain English Approach (This should match the Java/Python solutions)

  3. Extra Credit

    a. Java Solution

    b. Python Solution

    c. Pseudocode

    d. Plain English Approach (This should match the Java/Python solutions)

    Obviously, each extra credit problem may not need all of these, since some asked for a plain text submission. Exercise your judgment, you are all smart enough to understand what is needed for each problem!

  4. Notes

    If you have maintained notes that are legible and actually helpful for people besides yourself, you may want to submit them here. Text/ Markdown works best, since making modifications/corrections is easier, but PDFs work too, if that's what you have.

  5. Issues

    See some code that will never execute? Some statements that are flat out wrong? Create an issue! If it's a valid concern, I will approve it. Ideally, if you saw the issue, you should also propose a fix. If you're too lazy to that, someone else can always fix it for extra credit. Make sure you follow the Issue Guidelines.

    If you just propose an approved issue, you get one count of extra credit. The issue is then open to the public, whoever opens a PR to fix that issue (and gets approved) first, gets a count of extra credit. If you propose a fix that gets approved in the issue, you will get two counts of extra credit.

    Look for the "help wanted" label on issues to quickly figure out which issues have been approved and need a fix.

  6. Enhancements

    Really wish there was an extra subfolder for something? Think there's a better way to do things? Create an issue! More details under Issue Guidelines.

Style guides

Clean code is always better to work with. I don't care about whether you prefer 2-space tabs or 4, but I do care that you have some sort of structured approach as to how you structure your code.

You may wish to look at:

  1. The Java style guide by Google
  2. The Pep 8 guide for python.

There are many other sources, so feel free to explore and experiment. Thumb rule to think about when styling: Will my professor be happy or annoyed looking through the code I've submitted?

FAQs

See FAQs Wiki Page.