cs111
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Versions and GitHub Sync Note Insights Sharing URL Help
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       owned this note    owned this note      
    Published Linked with GitHub
    Subscribed
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    Subscribe
    --- title: Project Logistics, Fall 2020 tags: Projects-F20 --- # Project Logistics, Fall 2020 :::info Update 10/20/2020: We'll have 2 projects this semester instead of 3! ::: In CS0111, there will be two projects throughout the semester. Please read this handout for more information about project logistics, because projects are a larger undertaking than the usual homework assignment. More project-specific material, such as project-specifc deadlines, content, and grading criteria will be found in each project's respective handout, released 2 weeks before their due date. ## High-Level Overview of Project Logistics The rest of this document will expand on each of these points. * ~~- Each student must individually turn in some initial notes on how to approach the project (via Gradescope; this is *Deadline 1*)~~ (no longer a part of Project 2) - You will be part of a project group (2-3 students) that collaborates on a high-level design of the project. (This part generally does not involve writing code.) One member of the group submits it (via Gradescope; this is *Deadline 2*) - Your project group will meet with a TA to review your design (this is the *Design Check*) - Your project group can split into subgroups to write the code. One student from each subgroup will submit the code (via Gradescope; this is *Deadline 3*) - Each student individually submits a description of how their group members worked together on the project (via a Google form) Each project will be released on a Tuesday and be due two weeks after, with the other deadlines described above in between. Note that there will be no coding assignment due on the Tuesday between the project release and the project due date, but there might be a written/ethics assignment. ## Project Groups and Design Check TAs :::info Update 10/20/2020: Decreased project group size for project 2 ::: Students will be working in 2-3 person groups for at least part of the project. Before the release of each project, each group will receive an email informing everyone of that group's members and design check TA. Your project group should be different for each project (except in extenuating circumstances), so expect three different emails throughout the semester. If you haven't received this email by the time the project is realeased, **email the HTAs immediately.** #### Note on choosing your project group: * Before group assignments are sent out, you will have the opportunity to request up to 2 other different students to work with. Be on the lookout for a Google form for each project that will allow you do to so. If you request fewer than 2 people, you will also be working with other students, in addition to those you've requested. * This form will also give you the opportunity to list students who you do **not** with to work with. * *Starting with Project 2, different from Project 1*: This form also has a question for you to select whether or not you'd like to complete your final implementation on your own or as a group. Even if you are not requesting specific partners, *please fill out this form to indicate your preferences for your final implementation* so we can group you with students who feel similarly. * If you don't have anyone you'd specifically like to/not like to work with, people will be assigned to groups based on time zone and the same mixed/experienced/beginner preferences that were surveyed during Homework 0. * **Do not request to work with students who were in your previous group.** * These forms are due *before project groups are released.* This gives us enough time to sort people into groups! * [ Partner request form for Project 1](https://forms.gle/5WDahuG6g8cYhkfM9) * [Partner request form for Project 2](https://forms.gle/M631Pddp515qu4ZK7) **due Monday by 5pm EST (this is a hard deadline)** ### Project Subgroups After completing the design check (the second deadline detailed below), you should start the implementation of the project. For the implementation phase, you can choose to submit a single submission for the whole group, or to split off and submit individually. If you're in group of 3, it is also acceptable to split into a pair and an individual. Each subgroup will submit one copy of its final code for the project. If you work closely enough with another student in your group that the code would be largely the same, you should be in the same subgroup. Regardless of how a project group splits, the members of the project group may help each other with both conceptual questions and debugging. You may not look at and debug the code of people outside of your group. *This will be considered a violation of collaboration policy.* That said, you are still encouraged to talk to any students about the project at a high level to fill out any conceptual gaps! **Everyone in the same subgroup is responsible for understanding the code that got turned in. The midterm and final may ask follow-up questions about the project. If your subgroup simply divides the work, you run the risk of not being prepared for the final checks or the exam.** If you split up work, take time to make sure everyone in the group understands how all of the pieces work. ### Summary of the Collaboration Policy The following table summarizes the collaboration policy for projects. | | Code Together | Conceptual questions | Debugging help | | -------- | -------- | -------- | --------- | | Same Subgroup | yes | yes | yes | | Same Group, Different Subgroup | no | yes | yes | | Classmates beyond group | no | yes | no| | Course Staff (TAs) | | yes | yes | | People outside Fall 2020 CS111 | no | no | no | ## Deadline 1: Pre-design Check :::danger There is no pre-design check submission for Project 2. ::: With any large programming project, a large amount of planning and design often occurs before anyone even begins to code. Our first deadline, the pre-design check, involves two major steps: * Communicate with your group members to sign up for a design check appointment with your design check TA! Information about your design check TA, as well as their Google appointment calendar to sign up, is in the same email that contained your group member information. * All group members are required to participate in a design check Zoom call. * We highly recommend all group members attend the same design check if possible. It will help all group members be on the same page post-design check, and will make for a more fruitful discussion. Feel free to use a [when2meet](https://www.when2meet.com/) to help figure out everyone's availability! * If all members cannot make it to a single design check, each group is allowed to sign up for up to two separate slots. * If two slots is not enough to accommodate your group (and someone will need to have a design check on their own), please reach out to your design check TA to work something out. * Also reach out to your design check TA if none of the slots in their appointment calendar work for the group; it's best to do this as soon as possible. * Read the project handout fully, take some notes about your thoughts on the project/questions you might have, and submit those notes to Gradescope. Project handouts will be a little longer than the homeworks you've seen previously. so it's important that you make sure you've read those handouts carefully before you come together with your group. * Specific details about the name of the name of this file will be detailed in each project's specific handout. Don't overthink this! We're really just checking to make sure you've done your due dilligence before meeting with your group. Even something like taking notes as you read is okay, and this document will not be graded on correctness. If you have more questions than answers, that is also okay and expected -- write them down! As an example, if you were to submit some notes on [Homework 1](https://hackmd.io/@cs111/hw1), you might write something like this: :::info In this homework, we're trying to make different countries' flags. I think the Pyret Image documentation might be really helpful here. Some of the flags seem a little more complicated than others; for example, for Turkey, we'll have to rotate the star in some way. The crescent also seems a little tough to make; we might have to overlay circles in some way. The flag of Jamaica also seems a little confusing to me: how do we make the yellow x-shape? Some other questions I have: * How much do the proportions of the flag matter? * Does it matter if I make the flag all in one go, or should we save parts of the flags as names, like white-star = star(...) ::: ## Deadline 2: Design Check The design check will consist of a series of questions, usually written (though there may be coding questions, depending on the project). These questions will be detailed in each project's handout. After reading the project handout on their own, group members are expected to come together, work on the design check questions, and submit a single design check work on Gradescope. Only one submission per group is necessary, and the person submitting should add ALL their group members to the submission on Gradescope (feel free to come to hours if you're having trouble doing so). Groups should submit this work no later than *two hours* before their design check appointment that was signed up for during Deadline 1. This gives your design check TA enough time to read it before your discussion! The design check appointment itself will be a ~30 minute Zoom call with the design check TA where group members will talk about their answers to the design check questions. *All* group members are expected to come to and participate in the discussion. The design check TA may ask any group member questions about the work that was submitted. #### A note on design check grading: Your design check grade will be primarily based on whether you had viable ideas for each of the questions and were able to explain them adequately to the TA (for example, we expect you to be able to describe why you picked a particular plot or table format). Your answers do not have to be perfect, but they do need to illustrate that you've thought about the questions and what will be required to answer them. The TA will give you feedback to consider as part of your final implementation of the project. Your design check grade will be worth roughly a third of your overall project grade. Failure to account for key design feedback in your final solution may result in deductions. Remember that the goal of the design check is to review your project plans and to give you feedback well before the final deadline! Many students make changes to their designs following the check: doing so is common and will not cost you points. ## Deadline 3: Final Handin Finally, all project (sub)groups will hand in their final submission on Gradescope! Only one person from each subgroup needs to hand in the submission, but they should add the of the member of their subgroup to the handin on Gradescope (feel free to come to office hours if you're having trouble doing so). *For example: if a group of 4 splits into two pairs, each pair will submit their own handin. For each pair, the person submitting will add the other member of their pair to their submission.* ## Peer Assessment At the end of the project, you'll also be asked to fill out a form describing how each member of your group and subgroup contributed to the project work. You'll also describe your groupmates' strengths and weaknesses as project partners. **Your answers will NOT be shared directly with your groupmates**. This assessment serves two purposes: - It helps the faculty and HTAs manage any concerns that arise over group dynamics. - It helps us help you assess your skills at working with others on programming projects. If we see similar comments arising from multiple groupmates, we'll share an aggreated summary with the student in question. These assessments will not impact your project grade, unless they reveal that you did not actually contribute (much) to work that was submitted in your name. If you have concerns about this, reach out to Doug or Kathi.

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully