Restructered pre-import
This commit is contained in:
99
Old Pages/Old Wiki/Intro_to_Programming.md
Executable file
99
Old Pages/Old Wiki/Intro_to_Programming.md
Executable file
@@ -0,0 +1,99 @@
|
||||
Very basic introduction to programming class meant for those who've
|
||||
never programed before in their lives. Our external P2PU site is
|
||||
[here](http://new.p2pu.org/en/groups/python-101-with-pygame/). Please
|
||||
make sure to add yourself to the mailing list
|
||||
[here](https://groups.google.com/a/hacdc.org/group/prog101).
|
||||
|
||||
## Pre class HW
|
||||
|
||||
For the class we will be using python and pygame. Instructions on how to
|
||||
install them on your operating system of choice can be found below.
|
||||
|
||||
- [Installing Python and
|
||||
Pygame](Installing_Python_and_Pygame "wikilink")
|
||||
|
||||
**Git and Github**
|
||||
|
||||
We would like those taking the class to keep a source repository to
|
||||
store workshop and homework code so that: 1. they can modify without
|
||||
fear of messing it up beyond repair 2. they can share code and, thus,
|
||||
assist each other
|
||||
|
||||
To that end, we have some resources below to get git installed, open a
|
||||
github account, and the main git commands you will need to get started.
|
||||
|
||||
[Setting up git on Windows](http://help.github.com/win-set-up-git/)
|
||||
[Setting up git on OS X](http://help.github.com/mac-set-up-git/)
|
||||
[Setting up git on Linux](http://help.github.com/linux-set-up-git/) (you
|
||||
may choose to use your package manager (apt, yum, pacman, etc.) to
|
||||
install the git-core package)
|
||||
|
||||
If you can go through this before the class 0, great! you will have more
|
||||
time to write some code during the workshop. Otherwise, we will be
|
||||
available to assist anyone who may need help getting things started.
|
||||
|
||||
You can get the presentation slides, code, and other material from this
|
||||
wiki OR live from the [class
|
||||
repository](https://github.com/3lawsafe/HacDC-Intro-to-Programming)
|
||||
|
||||
## Class 0
|
||||
|
||||
**Covers**: Some history. IDLE and Python. Primitive data types.
|
||||
Statements and expressions. Hello World! Turtle Graphics **Slides**:
|
||||
 **Workshop**: Get
|
||||
things working! **Demo code**:
|
||||

|
||||

|
||||
**Homework**: Draw a pretty picture using the turtle graphics.
|
||||
|
||||
## Class 1
|
||||
|
||||
**Covers**: Program control. If statements. For loops. While loops.
|
||||
Pygame drawing. **Slides**:
|
||||
 **Workshop**:
|
||||
Pygame picture time! **Demo code**:
|
||||

|
||||

|
||||
**Homework**: Make an animation using your new looping and pygame
|
||||
drawing skills. Sign up for the email list, and introduce your self.
|
||||
Include a link to your GitHub repository.
|
||||
|
||||
## Class 2
|
||||
|
||||
**Covers**: Functions. Common data structures. Pygame events.
|
||||
**Slides**: 
|
||||
**Workshop**: Pong code with functions! Quick event demo. **Demo code**:
|
||||
Check the repo! **Homework**: Email list, do it! Share your repo and
|
||||
code! Make that animation you had interactive using the new event or I/O
|
||||
stuff. Try and make your previous code use functions.
|
||||
|
||||
## Class 3
|
||||
|
||||
**Covers**: Classes. Modules and Packages. **Slides**:
|
||||
 **Workshop**:
|
||||
Sprite demo! Pong with classes! (And probably prettier than the original
|
||||
one) **Demo code**: Check the repo! **Homework**: Package some of your
|
||||
existing code into a module. Try making a few objects for your
|
||||
interactive animation. Extend the sprite so there's more than one sprite
|
||||
on screen and they're keyboard controlled.
|
||||
|
||||
## Class 4
|
||||
|
||||
**Covers**: Some stuff from the standard library. Pyserial too!
|
||||
**Slides**: 
|
||||
**Workshop**: A bunch of little programs! **Demo code**: Check the repo!
|
||||
**Homework**: Use at least one of the libraries presented in class in
|
||||
your own code. Two different datasets are being provided, try and
|
||||
visualize the data using pygame.
|
||||
|
||||
## Class 5
|
||||
|
||||
**Covers**: Tidbits we didn't cover during the other classes. Exceptions
|
||||
handling. List/dict comprehensions. Lambdas, filters, maps and reduce.
|
||||
**Slides**: 
|
||||
**Workshop**: Some packaging stuff! **Demo Code**: Check the repo!
|
||||
**Homework**: Keep coding and showing up to HacDC!
|
||||
|
||||
<noinclude> </noinclude>
|
||||
|
||||
[Category:Intro_to_Programming](Category:Intro_to_Programming "wikilink")
|
||||
Reference in New Issue
Block a user