GithubHelp home page GithubHelp logo

project-ideas's Introduction

Project Ideas

In this assignment, we'll get started on our projects. You'll describe three potential project ideas and evaluate the suitability of each as a project.

The goals are this assignment are to (a) get a sense of what makes for a good project and (b) generate ideas for your project.

There are many different kinds of successful projects. To get a sense of what counts as a good project--and for some ideas on generating projects of your own--read this article on how to generate project ideas.

Comments / advice

  • Have fun! This is your chance to play with the idea of language and perhaps come up with something that is both surprising and obvious.

  • There's no commitment: You're not promising to do any of these things for the project. The hope is that you'll choose one of these ideas to work on for the rest of course. However, it's also totally fine to decide on a different project idea, based on the results of this assignment and on our one-on-one meeting.

  • Read over the project generation page right away. If you have some ideas, jot them down. Then let things percolate in your head for a couple of days before writing them up.

  • Focus most of your attention for now on problems, rather than solutions. In particular--in most cases--it's premature to talk about an internal vs external language, or choice of host language. Instead, focus on the need that a language would address and why a language helps address that need.

Your ideas

You'll come up with three (potential) project ideas and write about them.

  1. Idea #1: Describe this idea in idea-1.md.

  2. Idea #2: Describe this idea in idea-2.md.

  3. Idea #3: Describe this idea in idea-3.md.

In each of the files mentioned above, you'll find the same set of prompts. Don't erase anything from the starter file, and fill it in with your ideas and your thoughtful and well-written responses to the prompts. I recommend that you write 2โ€“3 sentences for each question. Don't write less than that; but feel free to occasionally write more, if you need more to answer the question.

Be sure to answer every question in each file. Also, be sure to read the project generation page; otherwise, you might not know how best to answer the questions in these files.

You're free to take ideas from existing DSLs, past projects, or other people, as long as you give credit and as long as your description and evaluation of the idea are your own. However, taking all your inspiration from the same source (e.g., all existing DSLs or all from other people) is not advised.

Grading

Good responses (i.e., responses that receive a B) will:

  • fully respond to every prompt in the starter file, and
  • be well-written and easy to read, i.e., clear yet concise using good spelling, grammar, organization, and proper formatting, to convey a well-formed idea, and
  • where appropriate, support your thoughts with references to material from class, from the domain of your project, or from other solutions in the same domain.

Great responses (i.e., responses that receive a A) will additionally:

  • be particularly insightful about the needs of the user and about the suitability of the idea as a CS 111 project ("insightful" means that you've clearly articulated all the angles, the benefits and drawbacks, risks, etc.), or
  • describe a particularly novel use of language to solve a problem (e.g., something that no one has thought of before), or
  • provide a fifth idea whose description would receive a 3 (to do so, create a new file with a name of your choosing, copy the questions into that file, answer the questions, and commit and push the file to your repository).

Tasks

  • Read the assignment, including the advice for generating ideas.
  • Think / come up with ideas.
  • Write responses in each of the files.
  • Submit your work.

project-ideas's People

Contributors

bwiedermann avatar harrylyf avatar

Watchers

 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.