Skip to content

Latest commit

 

History

History
138 lines (91 loc) · 8.01 KB

week-1.md

File metadata and controls

138 lines (91 loc) · 8.01 KB

Week-1

stash it, pop it, grep it, move it, config, prune it, format-patch it, add it, reset, add it, show it, git help reflog, pull --rebase it

@DLX

Build your own Octocat by @github.

Table of Contents

Slides

Assignments

Octocat

Octocat Banner

Learn the basics of Git and the social coding platform GitHub.

Synopsis

  • Time: 3:00h
  • Goals: subgoal 1, subgoal 2
  • Due: before week 2

Take a couple of hours to understand what open-source means and how GitHub and Git works. It's not a ton of reading material, these are usually short articles you can read in ~7/8 minutes.

  1. Read chapters 1.1, 1.2 & 1.3 of the Pro Git Online Book.
  2. Read Understanding the GitHub Flow and do the exercises in the Hello World guides on guides.github.
  3. Read the Creating your wiki section in the Documenting your Project guide.
  4. Read the Starting an Open Source Project and The Legal Side of Open Source.

💡Commit early and often. After you are done with even the smallest changes, get yourself into the habbit of making small commits. It's very common to commit ~5/6 times a day instead of one large commit at the end of each day.

💡In October 2020 GitHub changed the default branch name for new repositories from master to main. Some resources and tutorials might still use the term master. They are interchangeable but remember, the current default is main.

Assignment

Once you feel comfortable with basic GitHub concepts apply them to your own project. Create a repository for your matching-application, add a license and a readme.md (we'll fill it in later) and create a wiki to document your research. Explore some of the features you just read about, click trough the interface and settings of your just created repository.

Terminal

Terminal Banner

Learn the basics of navigating the command line.

Synopsis

  • Time: 3:00h
  • Goals: subgoal 1, subgoal 2
  • Due: before week 2

Take a couple of hours to understand the basics of the Terminal. Troughout the other courses (especially back-end) we'll be doing a ton with the terminal so it's good to understand how to navigate it.

  1. Follow 'A Designer’s Guide to the Terminal' (Mac) or read Working with files and folders (Windows)
  2. Watch the Command Line Basics video of Wes Bos his CLI course (Mac) or Powershell for Beginners (Windows)

Assignment

This one is for Mac users only! We have created a short interactive tutorial to see if you know your away around the command line! Upon completion you'll be given a code. Write that down! We'll ask you to include it in your GitHub issues once you completed. Here are the instructions on how to start the tutorial:

CLI interactive tutorial install guide

Create a directory (folder) named 'run' on your computer and in that folder create a file called tutorial.sh (you can use touch for this) and paste the contents of this GitHub Gist into the file.

Change to the directory named 'run', in which you created the file tutorial.sh. Now run that script with the command bash tutorial.sh

The tutorial should now start in your terminal!

Concept

Concept Banner

Work on the concept of your matching-application by creating a job story and requirements list.

Synopsis

  • Time: 6:00h
  • Goals: subgoal 1, subgoal 2
  • Due: before week 2

Think about what feature you are going to work on for the individual part of this project.

  1. Write ~5 Job Stories (to generate ideas) and pick one to continue working on.
  2. 'Split up' your Job Story into concrete requirements (taks) by making a requirements list
  3. Think about your target audience. It always helps to have one core audience you will be designing for. For example; sport fanatics to match people based on sports, netflixers to match people based on what series they want to watch etc. Do some research about your audience and add it to your wiki: what do you know about these people, what are their wishes and challenges? Can you find more information about them online? Can you talk to a few members of your target audience to ask them what they think is important?
  4. Think about your concept. Again, do some research and add it to your wiki. What are existing similar concepts that are already out there? Look into a few. What do they do really well that you can learn from, and where do you feel you really can do better than them?
  5. Create a small wireframe (napkin quality) to roughly sketch out how your interface should look.

Assignment

Document all this research things in your wiki. Teachers will give feedback on your concept in the next lesson. Remember we are not a UCD or NPD course but thinking about your concept for a bit will help you get clear on what you are going to build. So don't make full design documents, writing them down in your wiki is enough.

💡There is a wiki template you can use as a starting point. Click on the wiki tab on this repository (pt-course-21-22). You can clone the wiki to your local machine to use it in your own repository. Cloning the wiki also allows you to easily add images to your wiki. You can create a local images folder and use paths in markdown to reference them.

Hand In

  1. Push your changes:
    Commit any code progess in your repository on GitHub under your username in your own matching-app repository. Write down all the technical research you did, your Concept, Job Story and Requirements List in your wiki.

  2. Create an issue: Mark this assignment as complete by opening an issue on our GitHub issue tracker. Fill in the progress report template with your own information. Include what progress you made in the description of the issue.

  3. Feedback: Let us know what you thought of the homework, what part you spend a lot of time on and give us any feedback. Your assignment will be reviewed by teachers and student assistants, so expect people to read it and be ready for tips and tops!