Skip to content

Instantly share code, notes, and snippets.

@jendiamond
Last active June 20, 2018 19:25
Show Gist options
  • Save jendiamond/e677afe3c63a1fd9f265573e812c7adc to your computer and use it in GitHub Desktop.
Save jendiamond/e677afe3c63a1fd9f265573e812c7adc to your computer and use it in GitHub Desktop.

If anyone wants to get a jump on the first day you can install Sublime Text, VIM, Python 3, Git, sign up for a GitHub account.

2018 UCLA Recreation - Computer Programming and App Development Curriculum 💘

https://github.com/jendiamond Instructor - Jen Diamond - https://github.com/jendiamond - thejendiamond@gmail.com


Slack | Class Github | Each Day | Class Github | Class Github | Class Github | Class Github | Hamsters


Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | Day 8 | Day 9 | Day 10 |


Jr. Computer Programming and App Development June 26 through July 12th Monday - Thursday 9:30 - 12:30 (3 hour classes each day) 10 days - 30 hours


2 week Computer Programming Academy July 17th - 27th Mondy - Friday 9:30-11:00 / 1:00-2:30 (3 hours of class a day) 9 days - 27 hours



Overview of what we will learn for whole session

  • HTML
  • CSS
  • JavaScript
  • Version control in Git and GitHub
  • VIM (text editor)
  • Sublime (text editor)
  • Markdown
  • Python
  • Data Types
  • Algorithms
  • Contributing to a project
  • Pair programming
  • Agile workflow
  • Project management
  • Communication
  • Possibly: Flask (Python framework)

The class itself will be Agile which means it may shift based on the skills and pace of the students.

We are going to keep working on the same skills over the course of this session so by the time you return home you can teach these skills to your brother, sister, friends and your parents. That is your true final exam, Teach someone.

If you already have everything installed you will help the people who do not.

A very important part of being a programmer is being able to communicate. Often, as a profession developer you will have to explain what you are doing to people who dom't know anything about programming. The better you can do this the more valuable you are.

Projects

Final Project - A Live Personal Blog containing

  • Name of the the program - UCLA Summer Computer Program 2018
  • My name and hithubname Instructor - Jen Diamond - https://github.com/jendiamond
  • Your name and githubname
  • Names of all your class mates and their githubnames
  • All the vocabulary that you learned
  • Summary of what you learned each day and how you felt about it
  • Links to your python projects / code

Live Personal Blog

For each days post

  • The date
  • Your pair for the day
  • Vocabulary that you learned that day
  • Helpful links - with live links
  • Summary of what you learned that day in your words

Each Day

  • Daily standup 9:30am sharp

    • What did we accomplish yesterday?
    • What are we doing today?
    • Choose a group to lead for the day.
  • We will be Pair Programming

  • There will be groups

    • Groups will help each other
    • You will ask each other for help before you ask me
    • If you can't figure something out
    • Then ask me
      • You should have a clear question
        • When I do this _____________
        • Then this is the behavior I see
  • One group will be responsible for making sure everyone has pushed to the collective blog

  • Practice being Kind, Considerate & Helpful

  • Practice communicating clearly

  • You will post to your personal blog and push it to the main blog

  • Comminication tools good confused bad

  • At the breaks I'd like you to write me a note on a sticky note include these things

  • your name at the top

  • the date and time

  • a short note to me about how you are feeling. for example:
    "I feel good" "My pair is great" "I am a bit confused about _____" "My pair is not being nice. They did this _______" "I am learning a lot" "I feel really behind" "I feel really ahead of everyone" "and I am bored and this is why _____________" "I am still learning things" "I am enhoying teaching" "I am having a hard time teaching

Contributing to the Blogs


Contributing to your personal blog

Each day you will contrubute to your personal blog and the class blog You should have a list of vocabulary words for the day and their definitions

  • Add them to the

Contributing to the main blog

Notes:

  1. Any time you see a line that says to do something and it has a $ sign in front of it that means type this command into your terminal. Do NOT type in the dollar sign.
  2. If there it says <yourname> Just type in your actual name and not the angle brackets. ie: for me would be jendiamond
  3. File naming: Do NOT put spaces in the names of your files. You can use dashes or underlines or uppercases for filenames with multiple words. ie: jen-diamond or jen_diamond or jenDiamond
  4. Make your file names meaningful so you know what they are a year from now. day2_post This is called having a naming convension. If you think of this ahead of time for your whole project it will be easier to orgainze it. ie: If you are going to be doing more than 9 posts you may want to name them day09_post so when you get to day 10 it will be day10_post which lines up nicer. Of you think you'll continue all year then add another 0.
    day09_post
    day10_post

Change directories into your cloned version of the class blog

$ cd class_blog

Sync your local repo to the

  • Be sure you are on your master branch $ git branch If you are not in the master branch $ git checkout master $ git pull origin master
  • Create

Day 1 - Tuesday

We only have 3 hours and a lot to learn so we are going to jump right in.

What we will learn today

  • Data Types
  • HTML & CSS
  • Markdown
  • Command Line / Terminal Commands
  • Version control in Git and GitHub
  • Pair Programming
  • Shortcuts

Go to Slack for each days schedule

Minutes Concept & Link
1 20 Intro Who are we? Teachers intro - All 4
2 30 Who are you? ice breakers
3 10 break break into classes
4 15 HTML/ CSS Project 1 - 1,2,3
5 15 HTML/ CSS Project 1 - 1,2,3
6 10 break
7 15 Terminal
8 15 TryGithub
9 10 break
10 20 Lionels' talk

| 30 | HTML/ CSS | Project 1 - 1,2,3 | | | 15 | Markdown | | | | 10 | Break | | | 15 | Terminal | | | 15 | TryGithub | | | 30 | Pair Programming | |

With your extra time install Sublime if you don't already have it installed.

Pair programming is an Agile software development technique in which two programmers work together at one workstation.
One person is the Driver. They write the code. You are an intelligent keyboard.
The other person is the Navigator. They give hish level commands to the Dreviews each line of code as it is typed in.
The two programmers switch roles frequently.
Hot Potato! - If someone who is not the Driver tries to get on the keyboard to explain something instead of telling the Driver what to do.

Today I am going to be the driver

The Navigator will be the co-pilot

You will switch being the driver every 2 minutes

With your pair

Using one computer

  • Open the terminal
  • Create a directory on the Desktop named SOC_UCLA_2018_yourname
  • Change directories into the directory SOC_UCLA_2018_yourname
  • Create a markdown file called day01.md
  • Open the file in your Sublime
  • Edit the file day01.md in Sublime Add:
    • The day, month. day, year
    • Both of your names
    • Links to all the tutorials you did today
    • Summary of what you learned that day in your words
    • Vocabulary words and their definitions

https://gist.github.com/jendiamond/5a26b531e8e47b4aa638#local-version-control-with-git

Vocabulary

All Vocabulary written as an Object const vocabulary = { VIM: 'text editor', sublime: 'text editor', Python: 'a programing language', git: 'local vervion control', github: 'version control in the cloud', commandLine: 'the commands you use to talk to your computer', CSS: 'cascading styles sheets'}

Cheatsheet of Termnal Commands


Pair Programming

During this course you will be paired with a diferent person every day. That person is your pair programming partner. There will be only one commputer out per pair each day except for today. We need to be sure that everyone has everything they need installed.

At the end of each day the person who does not have their computer out will fire theirs up and pull dowm the files from GitHub that you worked on that day.

Make your font bigger so your pair can see it too and so I can see it if you need help.


Algorithms

INPUT OUTPUT Pseudo Code


Install - 15 minutes

  • Find your Terminal
  • Check to see that Python 3 is installed
  • Install Git
  • Install Sublime

Terminal - 15 minutes

Command Line

MAC / Linux Windows What this command does flags, etc.
pwd shows where you are in the directories
ls dir lists files ls -a lists all files including hidden ones
cd change directory ../
rm removes files permamnently
mkdir makes a new directory
up & down arrow scroll thru your previous commands
tab auto-complete
ctrl L clears your terminal
ctrl C stops server / infinite loops etc. quit exit
man manual pages for the commands type q to quit

Homework

Write down your introduction of yourself including

  • your name
  • where you are from
  • why you decided to come to this camp
  • who you remember meeting today (who you sat next to
  • in your words, a summary of what you learned today
  • your feelings about your first day

Shortcuts

- MAC Linux Windows
save s
undo z
close window w
copy c
paste v

Day 2 - Wednesday

Minutes Concept & Link
15 Sublime 10 Tricks in Sublime
15 Terminal Practice with your pair
15 Git Local
15 Github Remote Clone - Branch - Contribute to your own Github using the personal webpage
10 Break
30 HTML/ CSS Make your own webpage Project 2
30 Pair Programming

Minutes Concept & Link
1 20 Intro Who are we? Teachers intro - All 4
2 20 Who are you? ice breakers
3 10 break
4 15 HTML/ CSS Project 1 - 1,2,3
5 15 HTML/ CSS Project 1 - 1,2,3
6 10 break
7 15 Terminal
8 15 TryGithub
9 20 break
10 20 Lionels' talk

This is the code from yesterday

<!DOCTYPE html>
<head>
  <title>Anna Dowlin</title>
  <style>
    body {
      text-align: center;
      background: url("http://dash.ga.co/assets/anna-bg.png");
      background-size: cover;
      background-position: center;
      color: white;
      font-family: helvetica;
    }
    p {
      font-size: 22px;
    }
    input {
      border: 0;
      padding: 10px;
      font-size: 18px;
    }
    input[type="submit"] {
      background: red;
      color: white;
    }
  </style>
</head>
<body>
  <img src="/assets/anna.png">
  <p>Hi! I'm Anna, a NYC-based marketer. Say hello!</p>
  <input type="email" placeholder="Your email">
  <input type="submit">
</body>
</html>

Terminal Practice with your pair

Using one computer

  • Open the terminal
  • Create a directory on the Desktop named SOC_UCLA_2018_yourname
  • Change directories into the directory SOC_UCLA_2018_yourname
  • Create an html file called index.html
  • Open the file in your Sublime
  • Edit the file index.html in Sublime Add:
    • The day, month. day, year
    • Both of your names
    • Links to all the tutorials you did yesterday
    • Summary of what you learned that day in your words
    • Vocabulary words and their definitions

https://gist.github.com/jendiamond/5a26b531e8e47b4aa638#local-version-control-with-git

10 Tricks in Sublime

Today we are going to pair

  • Open your terminal create a directory
  • Open your text editor. Your text editor is Sublime

Day 3 - Thursday

Minutes Concept & Link
30 HTML/ CSS Project 3
15 Markdown
15 Terminal
15 TryGithub
30 Pair Programming
30 Geek Games

Using one computer

  • Open the terminal
  • Create a directory on the Desktop named SOC_UCLA_2018_yourname
  • Change directories into the directory SOC_UCLA_2018_yourname
  • Create a markdown file called day01.md
  • Open the file in your Sublime
  • Edit the file day01.md in Sublime Add:
    • The day, month. day, year
    • Both of your names
    • Links to all the tutorials you did today
    • Summary of what you learned that day in your words
    • Vocabulary words and their definitions

Tools to deal with getting stuck

  • Pseudo code. When you're stuck, write your program on paper. In terms of how you would do it as a person, not a computer. Don't think about syntax just go through the steps you would have to do as a person figuring out the problem.
  • Did I forget something? Look for syntax errors
  • What did I expect to happen? Describe out loud what should be happening. Think about the process of how that happens.
  • What is going wrong? Describe out loud what is going wrong.
  • What am I assuming? Is the input correct? Is the function written correctly?

Dealing with frustration

Don't give up when you get frustrated. Force yourself to push through it. Try not to make negative remark like t"This is stupid" or "I just can't get." It may take you several hours to find out you made one tiny mistake, or maybe the software you're using has a bug that is outside of your control.

  • Critical thinking skills (This comes with time and practice.)

  • Patience

  • Perseverance

  • Walk away and come back to it in 5 minutes or the next day.

Keep in mind that the human brain is like a muscle. When you tax it and give it exercise, it gets tired and needs time to make sense of the information you bombarded it. When you go to sleep, your brain will re-wire itself to account for the stress you put on it. The next day you'll be ready to learn some more.

Git / GitHub 30 minutes

Version control

What's the difference between Git & GitHub?

Git is Local

Github is remote

Repositories

a place where things are stored

Issues

We have a class Github organization.

If you are not on it give me your email so I can send you an invitation.

.gitrc

Pull requests

https://help.github.com/articles/about-pull-requests/


Branch

A branch is a parallel version of a repository. It is contained within the repository, but does not affect the primary or master branch allowing you to work freely without disrupting the "live" version. When you've made the changes you want to make, you can merge your branch back into the master branch to publish your changes.

Clone

A clone is a copy of a repository that lives on your computer instead of on a website's server somewhere, or the act of making that copy. With your clone you can edit the files in your preferred editor and use Git to keep track of your changes without having to be online. It is, however, connected to the remote version so that changes can be synced between the two. You can push your local changes to the remote to keep them synced when you're online.

Collaborator

A collaborator is a person with read and write access to a repository who has been invited to contribute by the repository owner.

Commit

A commit, or "revision", is an individual change to a file (or set of files). It's like when you save a file, except with Git, every time you save it creates a unique ID (a.k.a. the "SHA" or "hash") that allows you to keep record of what changes were made when and by who. Commits usually contain a commit message which is a brief description of what changes were made.

Contributor

A contributor is someone who has contributed to a project by having a pull request merged but does not have collaborator access.

Diff

A diff is the difference in changes between two commits, or saved changes. The diff will visually describe what was added or removed from a file since its last commit.

Fork

A fork is a personal copy of another user's repository that lives on your account. Forks allow you to freely make changes to a project without affecting the original. Forks remain attached to the original, allowing you to submit a pull request to the original's author to update with your changes. You can also keep your fork up to date by pulling in updates from the original.

Git

Git is an open source program for tracking changes in text files. It was written by the author of the Linux operating system, and is the core technology that GitHub, the social and user interface, is built on top of.

Issue

Issues are suggested improvements, tasks or questions related to the repository. Issues can be created by anyone (for public repositories), and are moderated by repository collaborators. Each issue contains its own discussion forum, can be labeled and assigned to a user.

Markdown

Markdown is a simple semantic file format, not too dissimilar from .doc, .rtf and .txt. Markdown makes it easy for even those without a web-publishing background to write prose (including with links, lists, bullets, etc.) and have it displayed like a website. GitHub supports Markdown, and you can learn about the semantics.

Merge

Merging takes the changes from one branch (in the same repository or from a fork), and applies them into another. This often happens as a pull request (which can be thought of as a request to merge), or via the command line. A merge can be done automatically via a pull request via the GitHub web interface if there are no conflicting changes, or can always be done via the command line. For more information, see "Merging a pull request."

Open source

Open source software is software that can be freely used, modified, and shared (in both modified and unmodified form) by anyone. Today the concept of "open source" is often extended beyond software, to represent a philosophy of collaboration in which working materials are made available online for anyone to fork, modify, discuss, and contribute to.

Organizations

Organizations are shared accounts where businesses and open-source projects can collaborate across many projects at once. Owners and administrators can manage member access to the organization's data and projects with sophisticated security and administrative features.

Pull

Pull refers to when you are fetching in changes and merging them. For instance, if someone has edited the remote file you're both working on, you'll want to pull in those changes to your local copy so that it's up to date.

Pull request

Pull requests are proposed changes to a repository submitted by a user and accepted or rejected by a repository's collaborators. Like issues, pull requests each have their own discussion forum. For more information, see "About pull requests."

Push

Pushing refers to sending your committed changes to a remote repository, such as a repository hosted on GitHub. For instance, if you change something locally, you'd want to then push those changes so that others may access them.

Remote

This is the version of something that is hosted on a server, most likely GitHub. It can be connected to local clones so that changes can be synced.

Repository

A repository is the most basic element of GitHub. They're easiest to imagine as a project's folder. A repository contains all of the project files (including documentation), and stores each file's revision history. Repositories can have multiple collaborators and can be either public or private.

SSH key

SSH keys are a way to identify yourself to an online server, using an encrypted message. It's as if your computer has its own unique password to another service. GitHub uses SSH keys to securely transfer information to your computer.

Status

A status is a type of status check on GitHub. See "Status checks."

Upstream

When talking about a branch or a fork, the primary branch on the original repository is often referred to as the "upstream", since that is the main place that other changes will come in from. The branch/fork you are working on is then called the "downstream".

User

Users are personal GitHub accounts. Each user has a personal profile, and can own multiple repositories, public or private. They can create or be invited to join organizations or collaborate on another user's repository.

Hamsters

Hamster Fact

  1. Hamsters are “crepuscular”, which means they are most active during the twilight hours.
  2. The largest type of hamster can grow to 13 inches (33cm) long
  3. The smallest type of hamster is just 2 to 4 inches (5 to 10cm) long
  4. Hamsters can store food in their cheeks, then eat it later!
  5. There are five different hamster species often kept as pets, Roborovski, Syrian, Campbell’s Dwarf, Chinese and Winter White Russian Dwarf hamsters.
  6. Hamsters are omnivores. In the wild, hamsters have been known to hunt and eat insects.
  7. Hamsters can live for up to 4 years. The average hamster life span is around 2 to 2.5 years.
  8. Hamsters are born blind. Hamster babies (known as ‘pups’) cannot open their eyes until around two weeks after birth.
  9. Hamster’s incisor teeth never stop growing
  10. Hamsters can have up to 24 babies at a time!

IceBreaker with Data Types

String

Number

Organize yourselves

Everyone gets a numer coming into the classroom That is their Id #

Variables

python

var x = 47

javascript

var x = 47
let y = 23
const = 3

Indexed Lists

Array - JavaScript

var instructors = ['Jen', "Greg', 'Lionel', 'Other']

- Python


Boolean


Key Value Pairs

Hash - Python

var jen = {id:1, firstName: 'Jen', lastName: 'Diamond', email: 'thejendiamond@gmail.com'}

Object - JavaScript

var jen = {id:1, firstName: 'Jen', lastName: 'Diamond', email: 'thejendiamond@gmail.com'}

$ jen.name >> 'Jen'

Array of Objects

var instructors = [ 
                    {id:1, firstName: 'Jen', lastName: 'Diamond', email: 'thejendiamond@gmail.com'},
                    {id:1, firstName: 'Lionel', lastName: 'X', email: 'lionel@gmail.com'},
                    {id:1, firstName: 'Greg', lastName: 'Santos', email: 'gregsantos@gmail.com'},
                    {id:1, firstName: 'Jen', lastName: 'Diamond', email: 'thejendiamond@gmail.com'},
		  ]

Commands

return print console log concatonate - actual meaning chain together

Calculations

Geometry
  • Perimeter
  • Area of a Square
  • Volume
Metric
  • Farenheit >> Celcius
  • Celcius >> Farenheit

Parameters vs. Argumants ()

Functions

Methods


Python has five standard Data Types:

http://developer.rhino3d.com/guides/rhinopython/python-datatypes/

  • Numbers
  • String
  • List
  • Tuple
  • Dictionary

Loops

Think of a a few examples of a group of Key Value Pairs

10 minutes race each other on Typeracer

smallest html page

culture


Homework Day 1

  • Write an example of a JS Variable
  • Write an example of a Python Variable

Time

  • Write an example of a JS Array

  • Write an example of a Python Array

  • Write an example of a JS Object

  • Write an example of a Python Object

Hello WorlSd

https://en.wikipedia.org/wiki/%22Hello,_World!%22_program A "Hello, World!" program is a computer program that outputs or displays "Hello, World!" to a user.

It is often the very first program people write when they are new to a language.

"Hello, world!" is also traditionally used in a sanity test to make sure that a computer language is correctly installed, and that the operator understands how to use it.

https://blog.hackerrank.com/the-history-of-hello-world/

Hello, World” was created by Brian Kernighan. He first referenced ‘Hello World’ in the book: A Tutorial Introduction to the Programming Language B published in 1973.

main( ) { 
extrn a, b, c; 
putchar(a); putchar(b); putchar(c); putchar(’!*n’); 
} 1 ’hell’; 
b ’o, w’; 
c ’orld’;

Blog

Things we learned today

html

Fizz Buzz

Add a pop up

Algorithm

http://girldevelopit.github.io/gdi-curriculum-site/ https://github.com/calebsmith/gdi-intro-python https://github.com/gdisf/teaching-materials/tree/master/git

PYTHON

https://www.tutorialspoint.com/python3/index.htm
https://www.w3schools.com/js/default.asp

https://knightlab.northwestern.edu/2014/06/05/five-mini-programming-projects-for-the-python-beginner/
https://www.makeuseof.com/tag/best-coding-apps-kids-learn-programming/
https://www.geekwire.com/2013/commentary-taught-kids-python-programming/
https://www.fractuslearning.com/programming-for-kids/
https://blog.udacity.com/2015/03/write-your-first-python-application.html
http://www.codewizardshq.com/python-for-kids/
https://www.raywenderlich.com/24252/beginning-game-programming-for-teens-with-python

Python is a general purpose, high-level programming language with an emphasis on code readability. It’s one of the easier programming languages to learn, with its use of common words and expressions, more white space and fewer curly brackets. It is used by NASA and Reddit, and its web framework, Django, powers the Instagram and Pinterest web apps.

Javascript is a scripting language, often used to make web pages interactive. It’s text-based, written in an HTML document and run through a web browser.

There are plenty of jobs out there for JavaScript developers. Anyone looking for a job as a front end web developer (the person who does the coding for the part of the website you actually see, as opposed to the database or servers) will also need to know Javascript, in addition to HTML, CSS and other scripting languages.

Overview

Vue

laracast https://laracasts.com/series/learn-vue-2-step-by-step
scrape
css framework
framework talk
https://introcs.cs.princeton.edu/java/42sort/

Create a switch

Click on it do something make a noise show a picture

Lightbulb

https://www.mvcode.com/lessons/make-a-light-turn-on-and-off-with-javascript

Magic 8 ball

Lorem Ipsum

Tricks in Sublime

https://generalassemb.ly/blog/sublime-text-3-tips-tricks-shortcuts/

  1. Opening Sublime from the terminal subl .
  2. Preferences
{
	"color_scheme": "Packages/Color Scheme - Default/Sixteen.tmTheme",
	"font_face": "Ubuntu Mono",
	"font_size": 16,
	"highlight_modified_tabs": true,
	"highlight_trailing_whitespace": true,
	"highlight_trailing_whitespace_non_cursor": false,
	"tab_size": 2,
	"translate_tabs_to_spaces": true,
	"word_wrap": true
}
  1. Syntax Highlighting View/Syntax
  2. How to find Keyboard Shortcuts
  3. Workspace Panes View/Layout ⇧ Alt 2
  4. Auto-completer -Shortcut to
    • Create HTML and it's tags
      1. name the file test.html
      2. type html
      3. Hit the Tab key
  5. Multiple Cursors
  6. Find / Find && Replace
  7. Hide/Show the Sidebar CTRL K or ⌘ K
  8. Quickly Comment Your Code **CTRL / ** **⌘ / ** - Use shift
  9. Selecting Text
    • CTRL D / ⌘ D Select a word - Hit D again to select the next same word
    • CTRL L / ⌘ L Select and entire line
  10. Learn more Help/Documentation
  11. Undo CTRL Z / ⌘ Z
  12. Select a group of text CTRL ⇧ L Then use the left arrow button to move all the cursors to the beginning of the line | Shortcut | Concept & Link | | |---|---|---|---|---| | subl . | Open Sublime from the terminal | | | subl . | Open Sublime from the terminal | |

Markdown 20 minutes

http://commonmark.org/help/tutorial/

http://commonmark.org/help/
https://www.tablesgenerator.com/markdown_tables

Hi, I am loooking forward to meeting you and working with you this Summer through the UCLA Recreation Program.
You will have fun, make friends and learn a lot. Because this class is very short we want to optimize our time together. If you can install some of the tools we will be using ahead of time that would be very useful. It would also helpful to know about your experience with programming. If it is nothing, no worries. Please fill out this questionaire. When you sign up for Slack send me a direct message saying hello and then let me know what you were able to install.

Things Sudents Need

Technical Things

Try to finish getting / installing everything on this list but if you can't figure it out I will help you on the first day of class.

  • email address - know your password and username

  • github account - it is free - know your password and username https://github.com/join?source=header

  • know the password and user name for your computer at root level

  • Join the slack group - this way we can chat together as a class and share resources before and after the class

  • Sublime Text 3 - text editor (it's free)
    This is the link to Download it. https://www.sublimetext.com/3 I'd like everyone on the same text editor.
    A text editor is what you will use to write your code. Sublime is a nice text editor because it is easy to use and it is used professionally by many programmers. It's Free too. (Read this to learn about text editors.)

Non-Technical Things that are just as important

  • Puncuality Each day please be on time. Treat this like a job. The class will start with or without you.
  • Good attitide
    • Everyone in your class is going to know different things. Even if you already know some of what is being taught you can always know it better and learn a something new that you didn't know before. If you do already know something you can help some of the other students therefore solidifying your own knowledge and growing your communication skills.
    • People will have different types of computers. Some people will be on the most up to date machines and others will be on older machines which does not make them less capable. There are difference in using different computers.
    • We will refrain from using words like: Thet are rarely helpful.
    • Learning is hard and emotional. Be supportive of your class mates and yourself.
    • Be ready to be frustrated. Feeling frustrated is completely normal, and will never completely go away. (As you get better, you'll just attack harder problems and have the same problem). The sense of frustration will make solving the problem much more satisfying. You need to get comfortable working through that frustrating feeling.
    • There is no 'best language'. Some languages & tools are better at solving some problems than others. As you learn different languages, don't try and port your old thinking to the new system. Instead learn how to program idiomatically in the new language.

Things I want for UCLASOC

  • Flash drives wth Sublime installer
  • Github cheatsheets & stickers
  • Stickers
  • Notepads
  • Pens
  • Shoe holder for phones
  • Power strips
  • Extension cords
  • Paper
  • Notebooks for each student
  • Dry erase markers and eraser
  • Post it notes for the students
  • https://github.com/gemgon/Octocat

Big Bag of Little Tricks


Project 1

Create a Personal Web page

  • Name of the the program - UCLA Summer Computer Program 2018
  • My name and hithubname Instructor - Jen Diamond - https://github.com/jendiamond
  • Your name and githubname
  • Names of all your class mates and their githubnames
  • All the vocabulary that you learned
  • Summary of what you learned each day and how you felt about it
  • Link to your flask project

Project 2

Create a single webpage

Requirementswith

  • 12 photos
    • each photo whould have links to an titles

Project 3

10 minutes Presentation

  • Summary of the project
  • Explantion of client
  • Design Process - drawings/wireframes
  • [Site map][1]
  • Explantion of Client

Design a 3 page webpage

  • Present a website to your client - make one up (presenting it to me)
  • 3 linked pages that contain
    • navigation to and from each page using relative links (no ophan links)
    • absolute links to extenal

Create a webpage

Requirements

Resources

1

Create a webpage

Requirements

  • Make a webpage that has an URL Shortener
  • Has a calendar
  • Do your own trouble shooting

Live Personal Blog

For each days post

  • The date
  • Your pair for the day
  • Vocabulary that you learned that day
  • Helpful links - with live links
  • Summary of what you learned that day in your words

Project 3

Client Review && Code Review

Updates and Refactoring


Project 4


Project 5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment