Difference between revisions of "Cs488-2009"
Jump to navigation
Jump to search
m (→October 7) |
Amweeden06 (talk | contribs) (→Research Topics) |
||
(18 intermediate revisions by 6 users not shown) | |||
Line 2: | Line 2: | ||
==Research Topics== | ==Research Topics== | ||
− | * Aaron - | + | * Aaron ([http://github.com/amweeden06/SRSem-Project-2009 project page]) - An educational game for teaching digital logic |
− | * Brad - | + | * Brad ([http://github.com/carrick/cartesian-genetic-programming project page]) - Coevolution of combinatorial game theory evaluation functions using self modifying cartesian genetic programming |
− | * Dylan - | + | * Dylan - ([http://github.com/parkhdy/Recursion project page]) - Developing a learning experience through a computer game |
− | * Nate - Algorithmic Cut-Up Poetry Generation Using Large Internet-Based Corpuses | + | * Nate ([http://github.com/nathanielksmith/weltanschauung project page]) - Algorithmic Cut-Up Poetry Generation Using Large Internet-Based Corpuses |
− | * Sam L-M - Computational English language recognition and synthesis in database interfacing | + | * Sam L-M ([http://github.com/leemasa/Syntactic-Natural-Language-Project project page]) - Computational English language recognition and synthesis in database interfacing |
− | * Sam W - | + | * Sam W ([http://github.com/poshul/Senior-sem-project project page]) - Implementing fault tolerance in software |
+ | |||
+ | ==Using Github as a work log== | ||
+ | Here are some directions on getting up and running with git and github. | ||
+ | |||
+ | ===Initial Setup=== | ||
+ | # Download and install Git (in linux it's as easy as sudo apt-get install git git-core. Not sure about other platforms) | ||
+ | # Get a user account at github.com | ||
+ | # Click on the New Repository button | ||
+ | # Fill out the info (note that you'll be using the project name to set up git on your machine) | ||
+ | # Click next (or continue or whatever) | ||
+ | # You'll be given directions '''similar''' to these. FOLLOW THESE! Especially if you're working on an ACL. When finished, click 'continue' and rejoice. | ||
+ | mkdir <PROJECT NAME> | ||
+ | cd <PROJECT NAME> | ||
+ | git init | ||
+ | git config user.name '<YOUR NAME>' | ||
+ | git config user.email <YOUR EMAIL> | ||
+ | touch README | ||
+ | git add README | ||
+ | git commit -m 'first commit' | ||
+ | git remote add origin git@github.com:<GITHUB USERNAME>/<PROJECT NAME>.git | ||
+ | git push origin master | ||
+ | |||
+ | ===Workflow=== | ||
+ | |||
+ | * When you add a new file to the directory OR modify an existing file, add it to git tracking using | ||
+ | git add <filename> | ||
+ | * When you want to see what changes you have made to your code (in other words, compare your working code with what was last committed) do | ||
+ | git diff | ||
+ | * When you've made changes you're happy with and want to save (both edits and file adds), use | ||
+ | git commit | ||
+ | * If you've made LOTS of changes and you only want to record some of them, do | ||
+ | git add -P | ||
+ | git commit -m '<LOG MESSAGE>' | ||
+ | * When your committed work is in a state you're happy with, 'push' (it's like uploading) it to github using | ||
+ | git push origin master | ||
+ | * When you've made a bunch of changes, but you realize they suck, and you want to wipe the slate clean, use | ||
+ | git reset --hard | ||
+ | |||
+ | ===Support=== | ||
+ | I am by no means a git master (I just use it because I like github) I have been using it for personal projects for some time. Feel free to ask questions of me about git if you run into trouble. you can email nate@cs.earlham.edu. There is also good documentation here: [http://www.kernel.org/pub/software/scm/git/docs/git.html] | ||
+ | |||
==Topic Allocation== | ==Topic Allocation== | ||
Line 40: | Line 81: | ||
* Aaron - Ch. 42: Number Systems for Computing | * Aaron - Ch. 42: Number Systems for Computing | ||
===September 16=== | ===September 16=== | ||
− | * Sam L-M - Ch. 33 | + | * Sam L-M - Ch. 33: Analog Computation |
* Dylan - Ch. 56: VLSI | * Dylan - Ch. 56: VLSI | ||
===September 23=== | ===September 23=== | ||
Line 47: | Line 88: | ||
* Sam W - Ch. 4: Simulation, The Monte Carlo Method (p.22) | * Sam W - Ch. 4: Simulation, The Monte Carlo Method (p.22) | ||
* Nate - Ch 64: Logic Programming (p. 420) | * Nate - Ch 64: Logic Programming (p. 420) | ||
− | |||
===October 7=== | ===October 7=== | ||
− | * Brad - Game Trees | + | * Brad - Ch. 6: Game Trees |
− | * Aaron - | + | * Aaron - Ch. 54: NP Complete Problems |
− | |||
===October 14=== | ===October 14=== | ||
− | * Sam L-M - | + | * Sam L-M - Ch. 44: Cellular Automata |
* Dylan - | * Dylan - | ||
===October 21=== | ===October 21=== | ||
− | * Sam W - | + | * Sam W - Neural networks |
* Nate - | * Nate - | ||
===October 28=== | ===October 28=== | ||
− | * Brad - | + | * Brad - Ch. 16: Genetic Algorithms (p.103) |
− | * Aaron - | + | * Aaron - Ch. 45: Cook's Theorem (p.301) |
===November 4=== | ===November 4=== | ||
− | * Sam L-M - | + | * Sam L-M - Self-replicating computers |
− | * Dylan - | + | * Dylan - Towers of Hanoi |
+ | |||
===November 11=== | ===November 11=== | ||
* Sam W - | * Sam W - | ||
− | * Nate - | + | * Nate - storing images #47 pg 315 |
Latest revision as of 11:40, 25 November 2009
Contents
Research Topics
- Aaron (project page) - An educational game for teaching digital logic
- Brad (project page) - Coevolution of combinatorial game theory evaluation functions using self modifying cartesian genetic programming
- Dylan - (project page) - Developing a learning experience through a computer game
- Nate (project page) - Algorithmic Cut-Up Poetry Generation Using Large Internet-Based Corpuses
- Sam L-M (project page) - Computational English language recognition and synthesis in database interfacing
- Sam W (project page) - Implementing fault tolerance in software
Using Github as a work log
Here are some directions on getting up and running with git and github.
Initial Setup
- Download and install Git (in linux it's as easy as sudo apt-get install git git-core. Not sure about other platforms)
- Get a user account at github.com
- Click on the New Repository button
- Fill out the info (note that you'll be using the project name to set up git on your machine)
- Click next (or continue or whatever)
- You'll be given directions similar to these. FOLLOW THESE! Especially if you're working on an ACL. When finished, click 'continue' and rejoice.
mkdir <PROJECT NAME> cd <PROJECT NAME> git init git config user.name '<YOUR NAME>' git config user.email <YOUR EMAIL> touch README git add README git commit -m 'first commit' git remote add origin git@github.com:<GITHUB USERNAME>/<PROJECT NAME>.git git push origin master
Workflow
- When you add a new file to the directory OR modify an existing file, add it to git tracking using
git add <filename>
- When you want to see what changes you have made to your code (in other words, compare your working code with what was last committed) do
git diff
- When you've made changes you're happy with and want to save (both edits and file adds), use
git commit
- If you've made LOTS of changes and you only want to record some of them, do
git add -P git commit -m '<LOG MESSAGE>'
- When your committed work is in a state you're happy with, 'push' (it's like uploading) it to github using
git push origin master
- When you've made a bunch of changes, but you realize they suck, and you want to wipe the slate clean, use
git reset --hard
Support
I am by no means a git master (I just use it because I like github) I have been using it for personal projects for some time. Feel free to ask questions of me about git if you run into trouble. you can email nate@cs.earlham.edu. There is also good documentation here: [1]
Topic Allocation
- SIMULATION The Monte Carlo Method - Samuel
- GAME TRESS The Minimax Method - Brad
- MATHEMATICAL RESEARCH The Mandelbrot Set - Nate
- GENETIC ALGORITHMS Solutions That Evolve - Brad
- COMPUTER VISION Polyhedral Scenes - Brad
- PERCEPTIONS A Lack of Vision - Nate
- ANALOG COMPUTATION Spaghetti Computers - Sam Leeman-Munk
- NEURAL NETWORKS THAT LEARN Converting Coordinates - Samuel
- PUBLIC KEY CRYPTOGRAPHY Intractable Secrets - Samuel
- NUMBER SYSTEMS FOR COMPUTING Chinese Arithmetic - Aaron
- CELLULAR AUTOMATA The Game of Life - Sam Leeman-Munk
- COOK'S THEOREM Nuts and Bolts - Aaron
- SELF-REPLICATING COMPUTERS Codd's Machine - Sam Leeman-Munk
- STORING IMAGES A Cat in a Quad Tree - Nate
- THE SCRAM A Simplified Computer - Dylan
- SHANNON'S THEORY The Elusive Codes - Aaron
- NP-COMPLETE PROBLEMS The Tree of Intractability - Aaron
- ITERATION AND RECURSION The Towers of Hanoi - Dylan
- VLSI COMPUTERS Circuits in Silicon - Dylan
- THE HALTING PROBLEM The Uncomputable - Sam Leeman-Munk
- COMPUTER VIRUSES A Software Invasion - Brad
- LOGIC PROGRAMMING Prologue to Expertise - Nate
- RELATIONAL DATABASES Do-It-Yourself Queries - Samuel
Class Presentation Schedule
September 9
- Brad - Ch. 60: Computer Viruses
- Aaron - Ch. 42: Number Systems for Computing
September 16
- Sam L-M - Ch. 33: Analog Computation
- Dylan - Ch. 56: VLSI
September 23
- Sara Penhale - Where to find academically sound research materials (meet in Science Library)
September 30
- Sam W - Ch. 4: Simulation, The Monte Carlo Method (p.22)
- Nate - Ch 64: Logic Programming (p. 420)
October 7
- Brad - Ch. 6: Game Trees
- Aaron - Ch. 54: NP Complete Problems
October 14
- Sam L-M - Ch. 44: Cellular Automata
- Dylan -
October 21
- Sam W - Neural networks
- Nate -
October 28
- Brad - Ch. 16: Genetic Algorithms (p.103)
- Aaron - Ch. 45: Cook's Theorem (p.301)
November 4
- Sam L-M - Self-replicating computers
- Dylan - Towers of Hanoi
November 11
- Sam W -
- Nate - storing images #47 pg 315