From 39ba6457146e118fc2ec1077429f2180cd405471 Mon Sep 17 00:00:00 2001 From: "yrt06@sina.com" Date: Thu, 31 Mar 2016 17:01:36 +0000 Subject: [PATCH 1/2] Fixed Ruotong's posts --- .../2016-02-17-drawing-app-milstone-ry.md | 2 ++ .../2016-02-22-drawing-app-snapshot-ry.md | 4 ++- _posts/izayak/2016-02-23-Drawing-App-ry.md | 2 ++ _posts/izayak/2016-03-02-game-milstone-ry.md | 6 +++- _posts/izayak/2016-03-09-game-ry.md | 29 ++++++++++--------- 5 files changed, 27 insertions(+), 16 deletions(-) diff --git a/_posts/izayak/2016-02-17-drawing-app-milstone-ry.md b/_posts/izayak/2016-02-17-drawing-app-milstone-ry.md index 732e06d2..0fdf2418 100644 --- a/_posts/izayak/2016-02-17-drawing-app-milstone-ry.md +++ b/_posts/izayak/2016-02-17-drawing-app-milstone-ry.md @@ -7,7 +7,9 @@ layout: post **Milestones** + - [x] Set up a basic sturcture (Trinket code) - [ ] Users can draw a shape with their choices - [ ] Users can control the screen with keys - [ ] Accepts users' clicks + diff --git a/_posts/izayak/2016-02-22-drawing-app-snapshot-ry.md b/_posts/izayak/2016-02-22-drawing-app-snapshot-ry.md index 2ca9ba02..ee2a5e78 100644 --- a/_posts/izayak/2016-02-22-drawing-app-snapshot-ry.md +++ b/_posts/izayak/2016-02-22-drawing-app-snapshot-ry.md @@ -8,6 +8,7 @@ layout: post **Updated Milestones** + - [x] Set up a basic sturcture (Trinket code) - [x] Build up functions for drawing shapes, lines etc. - [x] Users can control the screen with keys @@ -24,7 +25,8 @@ layout: post - [ ] Utilize a named Screen object - [ ] Run without errors - [x] Be well-commented -- [ ] Be well-organized and readable +- [ ] Be well-organized and readable +- Finished small parts, and the whole structure (e.g. loops) will be built later. **Questions** diff --git a/_posts/izayak/2016-02-23-Drawing-App-ry.md b/_posts/izayak/2016-02-23-Drawing-App-ry.md index d72d93a5..eff4b58b 100644 --- a/_posts/izayak/2016-02-23-Drawing-App-ry.md +++ b/_posts/izayak/2016-02-23-Drawing-App-ry.md @@ -8,6 +8,7 @@ layout: post **Milestones (Revised Lists)** + - [x] Set up a basic sturcture (Trinket code) - [x] Build up functions for drawing shapes etc. - [x] Users can control the screen with keys @@ -27,6 +28,7 @@ layout: post - [x] Be well-organized and readable + **Reflection** 1. Have to make sure what can be put in a main.py and what can be put in a helper.py. Some functions that are commonly used can be put directly in another py, such as I put all the small must-have functions in shortcut.py. Some functions can be put in helper.py with the use of custom modules and functions, such as I put all the direction change and shape drawing functions in custom_class.py. The rest of them can only be put in the main.py, such as functions using two turtles e.g. fill() and back(), functions using both turtle and screen e.g. on_screen_click() and on_drag_function(), onkey and onclick funcitons e.g. screen.onclick() and someturtle.onclick(). 2. Refactor to make the program readable and clear to the user and other programmers. I put all the main functions in the main.py, all the functions for setting up the screen (instructions and display) in screen.py, all the custom modules in custom_class.py and all the small helper functions in shortcut.py. Putting all the left/right/forward/backward and drawing functions in the main.py can be very messy, and it can be solved by creating a custom module. That is way better. Now the program is much more concise than before. diff --git a/_posts/izayak/2016-03-02-game-milstone-ry.md b/_posts/izayak/2016-03-02-game-milstone-ry.md index 3f4dbd4d..a5c0051a 100644 --- a/_posts/izayak/2016-03-02-game-milstone-ry.md +++ b/_posts/izayak/2016-03-02-game-milstone-ry.md @@ -6,6 +6,7 @@ layout: post **Milestones** *Base* + - [ ] Come up with an idea of the 'game' - [ ] Set up the interface - [ ] Display information to the user using custom turtle objects @@ -14,7 +15,10 @@ layout: post - [ ] Have a 'win' screen or something displayed during the game - [ ] The use of global variable in order to tracking the game - [ ] Use custom modules and functions -- [ ] Use objects that are instantions of one or more custom extensions of Python’s Turtle class +- [ ] Use objects that are instantions of one or more custom extensions of Python’s Turtle class +- *Optional* + - [ ] The user can play again or start over without using the Run button - [ ] Have a nicer interface than the one of Drawing App +- diff --git a/_posts/izayak/2016-03-09-game-ry.md b/_posts/izayak/2016-03-09-game-ry.md index e051ddb3..a9a4a77b 100644 --- a/_posts/izayak/2016-03-09-game-ry.md +++ b/_posts/izayak/2016-03-09-game-ry.md @@ -18,29 +18,30 @@ Another problem is the up right corner board showing counts. I tried to write no - - As stuck with the first game, I come up with an idea of calculation game (boring...). I thought this would be easier to be solved. But it turns out that for this one it is more difficult to keep track with the random number. Or maybe if I do not use the self-defined class, it would be easier. - Apparently the two games are similar. Now I have another idea that let the user choose from a bunch of colors, then count the number of cool/warm tone the user choose. I can imagine I will still face a similar problem. Maybe too many ideas, but not enough achievement... **Milestones** -*Base* -- [x] Come up with an idea of the 'game' -- [x] Set up the interface -- [x] Display information to the user using custom turtle objects -- [x] Users can control by keys -- [x] Users can control by clicks -- [ ] Have a 'win' screen or something displayed during the game -- [x] Use custom modules and functions -- [x] Use objects that are instantions of one or more custom extensions of Python’s Turtle class +*Base* + + - [x] Come up with an idea of the 'game' + - [x] Set up the interface + - [x] Display information to the user using custom turtle objects + - [x] Users can control by keys + - [x] Users can control by clicks + - [ ] Have a 'win' screen or something displayed during the game + - [x] Use custom modules and functions + - [x] Use objects that are instantions of one or more custom extensions of Python’s Turtle class + *Optional* -- [ ] The user can play again or start over without using the Run button -- [x] Have a nicer interface than the one of Drawing App + + - [ ] The user can play again or start over without using the Run button + - [x] Have a nicer interface than the one of Drawing App + From 1cca21160566c886e7691b84be78f06790cf6eac Mon Sep 17 00:00:00 2001 From: "yrt06@sina.com" Date: Mon, 4 Apr 2016 21:19:52 +0000 Subject: [PATCH 2/2] Fixed Ruotong's posts --- _config.yml | 4 - _posts/JayYang95/2016-02-24-DrawingApp.md | 92 ++++++----- _posts/JayYang95/2016-03-03-GameMilestones.md | 1 + .../2016-01-14-Beccas-Turtles.md | 1 + .../2016-02-09-BeccaandJamesChapter8Part2.md | 6 +- .../2016-02-14-BeccasMidsemesterReflection.md | 25 +-- .../2016-02-24-BeccasDrawingApp.md | 28 ++-- .../2016-03-08-BeccasGameApp.md | 16 +- .../2016-03-30-BeccaGaKayRegex.md | 19 +++ ...016-01-19-JasminePlottChapter2Exercises.md | 4 +- .../2016-01-19-JasminePlottTurtleExercises.md | 8 +- ...01-21-JasminePlottChapterThreeExercises.md | 8 +- ...-21-JasminePlottLogicalTurtlesExercises.md | 4 +- ...16-01-26-JasminePlottTreasureHuntTurtle.md | 17 +- ...016-01-28-JasminePlottTurtlesRefactored.md | 3 +- .../2016-02-02-JasminePlottClickyTurtle.md | 5 +- ...016-02-04-JasminePlottChapter5Exercises.md | 6 +- ...NickelsAndJasminePlottChapter8Exercises.md | 6 +- ...016-02-09-JasminePlottChapter8Exercises.md | 15 +- ...6-02-09-JasminePlottChapterSixExercises.md | 9 +- ...016-02-11-JasminePlottSlamPoetryTurtles.md | 12 +- ...02-16-JasminePlottRefactorTetrisTurtles.md | 42 ++--- .../2016-02-16-JasminePlottReflection.md | 103 +++--------- ...-02-18-JasminePlottDrawingAppMilestones.md | 14 +- ...16-02-23-JasminePlottDrawingAppSnapshot.md | 10 +- .../2016-02-25-JasminePlottDrawingApp.md | 5 +- .../2016-03-03-JasminePlottGameMilestones.md | 21 +-- .../2016-03-10-JasminePlottGameApp.md | 11 +- ...2016-03-30-JasmineAndOmarRegexExercises.md | 17 ++ .../2016-03-30-Javairia-and-Nat-RegExp.md | 26 ++++ .../2016-02-24-LingjiesDrawingAPP.md | 1 + .../2016-03-02-LingjiesGameAppMilestone.md | 1 + .../clairewlj/2016-03-09-LingjiesGameApp.md | 20 +-- .../2016-03-29-Lingjie-and-Jay-Exercises.md | 10 ++ _posts/elliott/2016-03-29-mar29notes.md | 29 +++- _posts/elliott/2016-03-31-mar31notes.md | 17 +- _posts/elliott/2016-04-05-apr5notes.md | 7 + _posts/elliott/2016-04-07-apr7notes.md | 7 + _posts/elliott/2016-04-12-apr12notes.md | 7 + _posts/elliott/2016-04-14-apr14notes.md | 7 + _posts/elliott/2016-04-19-apr19notes.md | 7 + _posts/elliott/2016-04-21-apr21notes.md | 7 + _posts/elliott/2016-04-26-apr26notes.md | 7 + _posts/elliott/2016-04-29-apr29notes.md | 7 + .../2016-02-09-Erica-Yiyang-In-class.md | 4 +- .../2016-02-24-ericabrody-drawing2.md | 2 +- ...2016-03-03-ericabrody-Game-milestones_2.md | 28 ---- .../ericabrody/2016-03-09-ericabrody-game.md | 2 +- .../2016-03-22-ericabrody-Ch7-Exercises.md | 6 +- .../2016-03-29-Erica-and-Will-Exercises.md | 16 ++ .../2016-03-29-Erica-and-Will-exercises.md | 16 ++ _posts/exercises/2016-03-29-postcleanup.md | 4 +- _posts/exercises/2016-03-29-regexex.md | 1 + _posts/exercises/2016-04-05-dictex1.md | 24 +++ _posts/exercises/2016-04-05-postcleanup2.md | 60 +++++++ _posts/exercises/2016-04-07-dictex2.md | 79 ++++++++++ ...6-01-18-hannahlwang-chapter-2-exercises.md | 2 + .../2016-03-30-hannah-jason-regex.md | 15 ++ _posts/how-tos/2016-03-29-gitcheatsheet.md | 146 ++++++++++++++++++ .../ianmoore/2016-01-25-treasure-hunt-post.md | 2 +- ...6-02-01-ian-peer-review-self-reflection.md | 2 +- .../2016-02-18-ian-starter-and-milestones.md | 15 +- .../2016-02-25-ian-final-drawing-app.md | 22 +-- .../2016-03-03-ian-game-milestones.md | 22 +-- .../2016-03-29-ian-and-james-in-class.md | 22 +++ ...-01-21-Ruotong-Ch3-Conditional-Exercise.md | 10 +- ...2016-01-25-Ruotong-Treasure-Hunt-Turtle.md | 2 +- .../2016-01-28-Ruotong-Function-Turtle.md | 10 +- .../2016-01-31-Ruotong-Clicky-Turtle.md | 8 +- _posts/izayak/2016-02-03-ch5-exercise.md | 4 +- _posts/izayak/2016-02-08-ch8-exercise.md | 3 +- _posts/izayak/2016-02-09-in-class.md | 10 +- .../2016-02-10-poetry-turtle-ruotong.md | 9 +- _posts/izayak/2016-02-15-tetris-turtle-ry.md | 18 ++- .../2016-02-17-drawing-app-milstone-ry.md | 10 +- .../2016-02-22-drawing-app-snapshot-ry.md | 12 +- _posts/izayak/2016-02-23-Drawing-App-ry.md | 4 + _posts/izayak/2016-03-02-game-milstone-ry.md | 28 ++-- _posts/izayak/2016-03-09-game-ry.md | 1 + .../2016-02-22-nataliele-drawingappsnap.md | 12 +- .../2016-02-24-nataliele-drawingapp.md | 35 ++--- .../2016-02-25-nataliele-peerreview.md | 25 +-- .../nataliele/nataliele-03-30-2016-regex.md | 19 +++ .../2016-03-18-PayalsCh7Exercises.md | 29 ++++ .../2016-03-30-PayalYiyangRegexExercises.md | 20 +++ _posts/readings/2016-04-05-ch9.md | 7 + _posts/tommytester/2016-01-15-example-post.md | 2 + .../tommytester/2016-01-20-tommy-badpost.md | 2 + _posts/tommytester/2016-02-02-tommy-clicky.md | 3 + .../tsukori/2016-02-17-drawingmilestones.md | 3 + ...09-drawingapp.md => 2016-03-09-gameapp.md} | 2 +- .../wookiemage/2016-01-14-Colin's Turtles.md | 10 +- .../2016-01-14-Wookiemage-first-post.md | 2 +- ...16-01-16-Chapter-Two-Variable-Exercises.md | 8 +- .../2016-01-18-Chapter-Three-Exercises.md | 6 +- _posts/wookiemage/2016-01-20-Logic-Turtle.md | 4 +- _posts/wookiemage/2016-01-23-Treasure-Hunt.md | 6 +- ...d => 2016-01-27-Chapter-Four-Exercises.md} | 4 +- .../2016-01-27-Functional-Turtle.md | 6 +- .../2016-01-31-Colins-Clicky-Turtle.md | 10 +- .../wookiemage/2016-02-03-Colins-Chapter-5.md | 13 ++ ... 2016-02-06-Colins-Chapter-6-exercises.md} | 14 +- ... 2016-02-06-Colins-Chapter-8-Exercises.md} | 20 +-- ...> 2016-02-10-Colins-Poetry-Slam-Turtle.md} | 0 ...1-Colin-and-Navaneet-make-a-better-poem.md | 2 +- ...016-02-15-Colins-Midsemester-Reflection.md | 31 ++-- .../2016-02-15-Colins-Tetris-Refactor.md | 24 +-- ...016-02-18-Colins-Drawing-App-Milestones.md | 15 +- .../2016-02-22-Drawing-App-Snapshot.md | 6 +- .../2016-02-24-Colins-Final-Drawing-App.md | 29 +++- .../2016-02-29-Colins-Peer-Review.md | 12 +- .../wookiemage/2016-02-3-Colins-Chapter-5.md | 13 -- .../2016-03-02-Colins-Game-Milestones.md | 20 +++ .../wookiemage/2016-03-09-Colins-game-app.md | 4 +- .../2016-03-29-Colin-and-Navaneet-do-regex.md | 17 ++ .../yiyangshi/2016-02-17-YiyangsMilestone.md | 1 + .../yiyangshi/2016-02-24-YiyangsDrawingApp.md | 2 + .../2016-03-02-YiyangsGameMilestone.md | 4 +- _posts/yiyangshi/2016-03-09-YiyangsGameApp.md | 2 + 119 files changed, 1146 insertions(+), 589 deletions(-) create mode 100644 _posts/RhymesWithMecca/2016-03-30-BeccaGaKayRegex.md create mode 100644 _posts/ShyArmadillo8/2016-03-30-JasmineAndOmarRegexExercises.md create mode 100644 _posts/batlopez/2016-03-30-Javairia-and-Nat-RegExp.md create mode 100644 _posts/clairewlj/2016-03-29-Lingjie-and-Jay-Exercises.md create mode 100644 _posts/elliott/2016-04-05-apr5notes.md create mode 100644 _posts/elliott/2016-04-07-apr7notes.md create mode 100644 _posts/elliott/2016-04-12-apr12notes.md create mode 100644 _posts/elliott/2016-04-14-apr14notes.md create mode 100644 _posts/elliott/2016-04-19-apr19notes.md create mode 100644 _posts/elliott/2016-04-21-apr21notes.md create mode 100644 _posts/elliott/2016-04-26-apr26notes.md create mode 100644 _posts/elliott/2016-04-29-apr29notes.md delete mode 100644 _posts/ericabrody/2016-03-03-ericabrody-Game-milestones_2.md create mode 100644 _posts/ericabrody/2016-03-29-Erica-and-Will-Exercises.md create mode 100644 _posts/ericabrody/2016-03-29-Erica-and-Will-exercises.md create mode 100644 _posts/exercises/2016-04-05-dictex1.md create mode 100644 _posts/exercises/2016-04-05-postcleanup2.md create mode 100644 _posts/exercises/2016-04-07-dictex2.md create mode 100644 _posts/hannahlwang/2016-03-30-hannah-jason-regex.md create mode 100644 _posts/how-tos/2016-03-29-gitcheatsheet.md create mode 100644 _posts/ianmoore/2016-03-29-ian-and-james-in-class.md create mode 100644 _posts/nataliele/nataliele-03-30-2016-regex.md create mode 100644 _posts/payalpatel/2016-03-18-PayalsCh7Exercises.md create mode 100644 _posts/payalpatel/2016-03-30-PayalYiyangRegexExercises.md create mode 100644 _posts/readings/2016-04-05-ch9.md rename _posts/tsukori/{2016-03-09-drawingapp.md => 2016-03-09-gameapp.md} (98%) rename _posts/wookiemage/{2016-1-27-Chapter-Four-Exercises.md => 2016-01-27-Chapter-Four-Exercises.md} (90%) create mode 100644 _posts/wookiemage/2016-02-03-Colins-Chapter-5.md rename _posts/wookiemage/{2016-02-6-Colins-Chapter-6-exercises.md => 2016-02-06-Colins-Chapter-6-exercises.md} (78%) rename _posts/wookiemage/{2016-2-06-Colins-Chapter-8-Exercises.md => 2016-02-06-Colins-Chapter-8-Exercises.md} (54%) rename _posts/wookiemage/{2016-2-10-Colins-Poetry-Slam-Turtle.md => 2016-02-10-Colins-Poetry-Slam-Turtle.md} (100%) delete mode 100644 _posts/wookiemage/2016-02-3-Colins-Chapter-5.md create mode 100644 _posts/wookiemage/2016-03-29-Colin-and-Navaneet-do-regex.md diff --git a/_config.yml b/_config.yml index 4eced7e6..1f241462 100644 --- a/_config.yml +++ b/_config.yml @@ -266,7 +266,3 @@ authors: gravatar: website: github: yiyangshi - twitter: - about: "Yiyang Shi is a Master's student at UNC department of Statistics and Operations Research. She is interested in data science." - - diff --git a/_posts/JayYang95/2016-02-24-DrawingApp.md b/_posts/JayYang95/2016-02-24-DrawingApp.md index 0a9cfb36..1630e43e 100644 --- a/_posts/JayYang95/2016-02-24-DrawingApp.md +++ b/_posts/JayYang95/2016-02-24-DrawingApp.md @@ -6,53 +6,61 @@ title: "Jay's Drawing App" -Shapes -[x] Draw circle -[x] Draw square -[x] Draw triangle -[ ] Draw circle centered around point clicked -[x] Draw square centered around point clicked -[x] Draw triangle centered around point clicked - -Size -[x] Allow 3 different sizes (small, medium, large) for shapes -[x] Allow 3 different pen thicknesses for line drawing -[x] Prevent current selected thickness of pen from affecting thickness of lines that shapes are drawn with - -Line -[x] Allows user to click around without automatically drawing a line to that point while in line mode -[x] Let's user drag the arrow/turtle to draw a line -[ ] Have the arrow/turtle remain a static, different color from its pen colors so that it is visible under a lot of drawing - -Color -[x] Let's user select different colors -[x] Brings up a different interface for user to click on a color -[x] Once color has been selected, go back to original interface -[ ] Retain the mode selected before user clicked on color mode - -Modes -[x] Lets user select between different modes (Shapes, Color, Line) by clicking on them -[x] Lets user repeatedly draw whatever mode is selected until a new mode is selected -[x] Functioning clear button - -Display -[x] Displays current mode, color, and size on topright -[x] Have separate turtles setup the interface and have tina be the sole turtle that does the drawing -[x] Have different turtles update each property (mode, color, size) on the display - -Organization and Code -[x] Comments -[x] Use of functions and custom modules -[x] Definite loops -[x] Screen Object -[x] Keyboard + Mouse used -[ ] Generally readable and eye-pleasing -[x] Works with no errors +Shapes: + + - [x] Draw circle + - [x] Draw square + - [x] Draw triangle + - [ ] Draw circle centered around point clicked + - [x] Draw square centered around point clicked + - [x] Draw triangle centered around point clicked + +Size: + + - [x] Allow 3 different sizes (small, medium, large) for shapes + - [x] Allow 3 different pen thicknesses for line drawing + - [x] Prevent current selected thickness of pen from affecting thickness of lines that shapes are drawn with + +Line: + +- [x] Allows user to click around without automatically drawing a line to that point while in line mode +- [x] Let's user drag the arrow/turtle to draw a line +- [ ] Have the arrow/turtle remain a static, different color from its pen colors so that it is visible under a lot of drawing + +Color: + + - [x] Let's user select different colors + - [x] Brings up a different interface for user to click on a color + - [x] Once color has been selected, go back to original interface + - [ ] Retain the mode selected before user clicked on color mode + +Modes: + + - [x] Lets user select between different modes (Shapes, Color, Line) by clicking on them + - [x] Lets user repeatedly draw whatever mode is selected until a new mode is selected + - [x] Functioning clear button + +Display: + + - [x] Displays current mode, color, and size on topright + - [x] Have separate turtles setup the interface and have tina be the sole turtle that does the drawing + - [x] Have different turtles update each property (mode, color, size) on the display + +Organization and Code: + + - [x] Comments + - [x] Use of functions and custom modules + - [x] Definite loops + - [x] Screen Object + - [x] Keyboard + Mouse used + - [ ] Generally readable and eye-pleasing + - [x] Works with no errors A thing to note about the checklist. I started with a very basic list including shapes, lines, color, etc and added on to it while I was coding. If I ran into some sort of bug or annoyance, I added it onto the list and checked it off later if it was fixed. Reflection: + This is much like my snapshot work in progress Drawing App, but with a few additional features and some bugs fixed. The app lets the user click on whichever mode they want (square, circle, triangle, C for color, and line). Once the user has selected a mode, the display in the topright will change from "None" to whatever mode is currently selected. The user can then diff --git a/_posts/JayYang95/2016-03-03-GameMilestones.md b/_posts/JayYang95/2016-03-03-GameMilestones.md index 231da801..6212f229 100644 --- a/_posts/JayYang95/2016-03-03-GameMilestones.md +++ b/_posts/JayYang95/2016-03-03-GameMilestones.md @@ -5,6 +5,7 @@ title: "Jay's Game Milestones" --- Milestones: + - [ ] Have movement be controlled by arrow keys - [ ] Keep track of a counter variable (maybe points or something) - [ ] Uses click events to change settings of game diff --git a/_posts/RhymesWithMecca/2016-01-14-Beccas-Turtles.md b/_posts/RhymesWithMecca/2016-01-14-Beccas-Turtles.md index 8d2b028c..c68dcabd 100644 --- a/_posts/RhymesWithMecca/2016-01-14-Beccas-Turtles.md +++ b/_posts/RhymesWithMecca/2016-01-14-Beccas-Turtles.md @@ -1,6 +1,7 @@ --- layout: post author: RhymesWithMecca +title: "Becca's Turtles" --- diff --git a/_posts/RhymesWithMecca/2016-02-09-BeccaandJamesChapter8Part2.md b/_posts/RhymesWithMecca/2016-02-09-BeccaandJamesChapter8Part2.md index 26c612bf..703ad864 100644 --- a/_posts/RhymesWithMecca/2016-02-09-BeccaandJamesChapter8Part2.md +++ b/_posts/RhymesWithMecca/2016-02-09-BeccaandJamesChapter8Part2.md @@ -1,8 +1,8 @@ --- layout: post author: -- RhymesWithMecca -- jamesma560 + - RhymesWithMecca + - jamesma560 title: "Becca and James Chapter 8 Exercises, Part 2" --- @@ -15,6 +15,6 @@ title: "Becca and James Chapter 8 Exercises, Part 2" **Here is 8.6:** -**Reflection (do we need one? Here it is regardless:** +**Reflection (do we need one? Here it is regardless):** Paired programming is useful. We were definitely faster with two brains than I would have been with one. I am trying to make my markdown fancy for the first time. Hope it works! diff --git a/_posts/RhymesWithMecca/2016-02-14-BeccasMidsemesterReflection.md b/_posts/RhymesWithMecca/2016-02-14-BeccasMidsemesterReflection.md index 360690c6..2f93eeaa 100644 --- a/_posts/RhymesWithMecca/2016-02-14-BeccasMidsemesterReflection.md +++ b/_posts/RhymesWithMecca/2016-02-14-BeccasMidsemesterReflection.md @@ -17,15 +17,7 @@ means I often make punctuation and indentation errors while doing my homework be programming. I do like this way better, though. **Programming and Puzzles** -My suspicion about puzzles and coding was right. One of the highlights of my week (warning: I’m about to geek out) is doing the Sunday -New York Times crossword puzzle. Usually I start, get a bit of the way through, and get stuck. Coming back to it a few hours later -or the next day is very helpful, since my brain is working on it even though I’m not directly thinking about it, and then more letters -are filled in quickly. The same is true for programming. I always have an open Chrome tab for each chapter exercise (in separate -Trinkets), because something that trips me up on one exercise will often be solved in the next one, and I navigate back and forth a lot. -I also have found it useful to come back to my code a few hours later, or the next day, and have had thoughts like, “Oh! I could use -functions here!” and suddenly my options have expanded. I’ve also found it helpful to keep the “Notes” app open on my laptop to write -notes for my reflection as I go. Early on in the class, I would write my program(s) and then forget the little things that tripped me -up, making my reflections less detailed and less helpful to my learning. +My suspicion about puzzles and coding was right. One of the highlights of my week (warning: I’m about to geek out) is doing the Sunday New York Times crossword puzzle. Usually I start, get a bit of the way through, and get stuck. Coming back to it a few hours later or the next day is very helpful, since my brain is working on it even though I’m not directly thinking about it, and then more letters are filled in quickly. The same is true for programming. I always have an open Chrome tab for each chapter exercise (in separate Trinkets), because something that trips me up on one exercise will often be solved in the next one, and I navigate back and forth a lot. I also have found it useful to come back to my code a few hours later, or the next day, and have had thoughts like, “Oh! I could use functions here!” and suddenly my options have expanded. I’ve also found it helpful to keep the “Notes” app open on my laptop to write notes for my reflection as I go. Early on in the class, I would write my program(s) and then forget the little things that tripped me up, making my reflections less detailed and less helpful to my learning. **Things That Are Going Well** I have enjoyed the collaborative structure of class. The ability to see classmates’ code after pull requests have been submitted is very @@ -44,16 +36,13 @@ figure out how to get multiple clicky functions - I wanted to define clicky1 and -Some of my classmates had thought to use the coordinate grid to specify what should be drawn where. I rewrote this part of my program -such that the wand will be drawn if the user clicks on the left side of the screen, the hat if the user clicks in the middle, and the +Some of my classmates had thought to use the coordinate grid to specify what should be drawn where. I rewrote this part of my program such that the wand will be drawn if the user clicks on the left side of the screen, the hat if the user clicks in the middle, and the Snitch if the user clicks on the right (based on which x coordinate is clicked on). I also cleaned up the text and got rid of the congratulations animation, since it’s a bit silly, keeping the thank you text: -The other class session that was helpful was when we looked at chapter exercises on the screen and talked about problem solving strategies -and ways to make our code more beautiful. I used the troubleshooting suggestions of printing integers at random places throughout the -program and of printing variable types in the next homework assignment, both of which proved useful. +The other class session that was helpful was when we looked at chapter exercises on the screen and talked about problem solving strategies and ways to make our code more beautiful. I used the troubleshooting suggestions of printing integers at random places throughout the program and of printing variable types in the next homework assignment, both of which proved useful. **Things to Work On** Other aspects of class have frustrated me. The idea for the flower in my first program came to me pretty naturally, and then I felt like @@ -66,13 +55,7 @@ Sometimes we throw around words in class like “refactor” and “hack” that similar? The textbook glossaries are helpful. I think the treasure hunt was the first time we used “foreign code” – coding techniques that we hadn’t learned yet but were in the -program (random numbers, while loops, and modules, for example) and these aspects confused me a lot and made this program, and future -ones with to-be-learned code, a lot harder. I don’t like reading ahead to figure out more efficient ways to write my programs, simply -because of information overload, but sometimes it feels necessary. I’m spending significantly more time on this class outside of class -than on my other classes (for the record, Web Development (will be Mobile Web Development for the second half of the semester), 500, -and 513 now, and I’ll be adding Data Sharing Among Scientists for the second half of the semester), because of the number and depth -of assignments and my perfectionist brain. Maybe it would be helpful to give us a preview of the upcoming textbook chapter the class -before it’s assigned. +program (random numbers, while loops, and modules, for example) and these aspects confused me a lot and made this program, and future ones with to-be-learned code, a lot harder. I don’t like reading ahead to figure out more efficient ways to write my programs, simply because of information overload, but sometimes it feels necessary. I’m spending significantly more time on this class outside of class than on my other classes (for the record, Web Development (will be Mobile Web Development for the second half of the semester), 500, and 513 now, and I’ll be adding Data Sharing Among Scientists for the second half of the semester), because of the number and depth of assignments and my perfectionist brain. Maybe it would be helpful to give us a preview of the upcoming textbook chapter the class before it’s assigned. Paired programming has been a blessing and a curse. I like the collaborative aspect – two brains are better and faster than one – and how we switch roles every so often. What frustrates me is the short amount of time we have in class and the expectation that diff --git a/_posts/RhymesWithMecca/2016-02-24-BeccasDrawingApp.md b/_posts/RhymesWithMecca/2016-02-24-BeccasDrawingApp.md index bdf98802..7055f8cf 100644 --- a/_posts/RhymesWithMecca/2016-02-24-BeccasDrawingApp.md +++ b/_posts/RhymesWithMecca/2016-02-24-BeccasDrawingApp.md @@ -12,23 +12,23 @@ title: "Becca's Drawing App" ##### User... -- [ x ] will not type - graphical interface only -- [ x ] can select drawing mode (program changes) using clicks and/or keys -- [ x ] can see current mode -- [ x ] can choose and draw shapes, lines, and colors -- [ x ] can clear drawing and start over + - [x] will not type - graphical interface only + - [x] can select drawing mode (program changes) using clicks and/or keys + - [x] can see current mode + - [x] can choose and draw shapes, lines, and colors + - [x] can clear drawing and start over ##### Program... -- [ x ] uses custom modules -- [ x ] uses custom functions -- [ x ] uses definite loops -- [ x ] uses multiple turtles -- [ x ] uses a named Screen object -- [ x ] is creative -- [ x ] runs without errors -- [ x ] is well-commented -- [ x ] is well-organized and readable + - [x] uses custom modules + - [x] uses custom functions + - [x] uses definite loops + - [x] uses multiple turtles + - [x] uses a named Screen object + - [x] is creative + - [x] runs without errors + - [x] is well-commented + - [x] is well-organized and readable **Here is my reflection:** diff --git a/_posts/RhymesWithMecca/2016-03-08-BeccasGameApp.md b/_posts/RhymesWithMecca/2016-03-08-BeccasGameApp.md index 3d0ef79a..eaa29529 100644 --- a/_posts/RhymesWithMecca/2016-03-08-BeccasGameApp.md +++ b/_posts/RhymesWithMecca/2016-03-08-BeccasGameApp.md @@ -26,15 +26,15 @@ Overall, I am satisfied with what I have. I'm curious if there is a way around **Required** - - [ x ] interface is entirely graphical - - [ x ] game uses key events (to display the surprise) - - [ x ] game uses click events (to play the trivia game [clicking on certain spots on the screen to guess answers - spots drawn by extensions of Python's turtle class]) - - [ x ] game has a reason to play (winning points and a trophy) - - [ x ] game displays win screen - - [ x ] game keeps track of state - keeps track of points - - [ x ] game displays information that updates - tells you if you got the question correct and adds points as you go + - [x] interface is entirely graphical + - [x] game uses key events (to display the surprise) + - [x] game uses click events (to play the trivia game [clicking on certain spots on the screen to guess answers - spots drawn by extensions of Python's turtle class]) + - [x] game has a reason to play (winning points and a trophy) + - [x] game displays win screen + - [x] game keeps track of state - keeps track of points + - [x] game displays information that updates - tells you if you got the question correct and adds points as you go **Stretch** - [ ] game uses key events to change turtle/player (I'm not sure if this is possible) - - [ x ] game has point accumulation + - [x] game has point accumulation diff --git a/_posts/RhymesWithMecca/2016-03-30-BeccaGaKayRegex.md b/_posts/RhymesWithMecca/2016-03-30-BeccaGaKayRegex.md new file mode 100644 index 00000000..c3753507 --- /dev/null +++ b/_posts/RhymesWithMecca/2016-03-30-BeccaGaKayRegex.md @@ -0,0 +1,19 @@ +--- +layout: post +author: + - RhymesWithMecca + - gao14g +title: "Becca's and Ga Kay's Regex Exercises" +--- + +**Exercise 1:** + + +**Exercise 2:** + + +**Exercise 3:** + + +**Reflection:** +Exercise 3 became significantly easier once it was clear what we were being asked to do. 1 and 2 were fine. diff --git a/_posts/ShyArmadillo8/2016-01-19-JasminePlottChapter2Exercises.md b/_posts/ShyArmadillo8/2016-01-19-JasminePlottChapter2Exercises.md index 7530ebeb..76c12539 100644 --- a/_posts/ShyArmadillo8/2016-01-19-JasminePlottChapter2Exercises.md +++ b/_posts/ShyArmadillo8/2016-01-19-JasminePlottChapter2Exercises.md @@ -70,9 +70,7 @@ print("According to your answer, the temperature you entered in degrees Celsius + str(fahrenheit) + "°" + " " + "Fahrenheit" + ".") ``` -I did compare my conversion table to Google's temperature conversion method, and I thought that it was interesting how there was a button -available to click to allow the conversion to happen after entering in the temperature. The two methods appear fairly similar, but -I'm curious whether we'll learn how to create buttons and drop down menus with Python for the rest of the semester. +I did compare my conversion table to Google's temperature conversion method, and I thought that it was interesting how there was a button available to click to allow the conversion to happen after entering in the temperature. The two methods appear fairly similar, but I'm curious whether we'll learn how to create buttons and drop down menus with Python for the rest of the semester. Here is my completed trinket for exercise 5: diff --git a/_posts/ShyArmadillo8/2016-01-19-JasminePlottTurtleExercises.md b/_posts/ShyArmadillo8/2016-01-19-JasminePlottTurtleExercises.md index 348be3f7..537c5cda 100644 --- a/_posts/ShyArmadillo8/2016-01-19-JasminePlottTurtleExercises.md +++ b/_posts/ShyArmadillo8/2016-01-19-JasminePlottTurtleExercises.md @@ -33,6 +33,7 @@ For the second Turtle trinket I created, I wanted to experiment with some differ to get an idea of how to do semi-circles and stars. Below is the code that I used to create semi-circles (which were meant to be hills). I copied the code from this site here . From my understanding the "x in range" command tells Tina to move in a 180 degree motion forwards and to the right 1 time. + If you wanted to do this more than once, then you would change the number that comes after the forward and right instructions. I added the extra right(180) to get Tina pointed in the direction so that she could make multiple semi-circles back to back. @@ -60,13 +61,10 @@ for x in range(180): tina.fill(False) ``` I was pleased with how the hills turned out for the most part, but I couldn't figure out how to speed up drawing the hills. I even -used the proper code to increase the speed, but it would not work. Does anyone have any ideas? I guess this taught me that even though -you might copy and past code that works, it's important to understand how to work with it. +used the proper code to increase the speed, but it would not work. Does anyone have any ideas? I guess this taught me that even though you might copy and paste code that works, it's important to understand how to work with it. I also created some stars after finishing the hills. I copied the code from this site -here. The trickiest part for the stars was figuring out the coordinates to tell them where to go so that they could appear in -different places on the screen. I'm still not 100% sure how to use the coordinates on trinket, but I was surprised to discover that you -can use negative numbers to direct Tina to different places. Below is the code that I used to draw the stars: +here. The trickiest part for the stars was figuring out the coordinates to tell them where to go so that they could appear in different places on the screen. I'm still not 100% sure how to use the coordinates on trinket, but I was surprised to discover that you can use negative numbers to direct Tina to different places. Below is the code that I used to draw the stars: ``` def draw_star(size, color): diff --git a/_posts/ShyArmadillo8/2016-01-21-JasminePlottChapterThreeExercises.md b/_posts/ShyArmadillo8/2016-01-21-JasminePlottChapterThreeExercises.md index 12b38ca2..0fd710ee 100644 --- a/_posts/ShyArmadillo8/2016-01-21-JasminePlottChapterThreeExercises.md +++ b/_posts/ShyArmadillo8/2016-01-21-JasminePlottChapterThreeExercises.md @@ -59,8 +59,7 @@ Instead of this: scores = input("Please enter a score between 0.0 and 1.0") ``` -Another problem that I couldn't wrap my mind around was the placement of the try and except statements with the if and else statements. -I believe that I made some bad nesting choices, but this is what I found out works the best: +Another problem that I couldn't wrap my mind around was the placement of the try and except statements with the if and else statements. I believe that I made some bad nesting choices, but this is what I found out works the best: ``` try: @@ -78,12 +77,11 @@ try: print ("Bad Score") except: print("Please start from the beginning, and enter a score between 0.0 and 1.0") - ``` +``` The other tactics that I'd used would give me results that were definitely not right, even if I had specified exactly what I thought was correct. Lastly, I also hadn't considered that the scores a letter grade could fall into would be ranges rather than just one number. -Ranges are a much more precise way of ensuring that the value you want ends up where you want it to. This example of what I was doing wrong -below helps show my well meant, but wrong, idea: +Ranges are a much more precise way of ensuring that the value you want ends up where you want it to. This example of what I was doing wrong below helps show my well meant, but wrong, idea: ``` if float(scores) >= 0.9: diff --git a/_posts/ShyArmadillo8/2016-01-21-JasminePlottLogicalTurtlesExercises.md b/_posts/ShyArmadillo8/2016-01-21-JasminePlottLogicalTurtlesExercises.md index b90d8eb8..073a5795 100644 --- a/_posts/ShyArmadillo8/2016-01-21-JasminePlottLogicalTurtlesExercises.md +++ b/_posts/ShyArmadillo8/2016-01-21-JasminePlottLogicalTurtlesExercises.md @@ -49,7 +49,7 @@ with to make circles with divided sections: tina.forward(50) tina.right(90) tina.forward(50) - ``` +``` It's really long, but to be honest, it was just a lot of copying and pasting the code that I'd already written and figuring which angle Tina was positioned. Overall, this made a pretty satisfying peppermint. @@ -131,7 +131,7 @@ elif int(peppermints) is 2: tina.forward(50) tina.reset() - ``` +``` One of the areas that I had difficulty of thinking where to put it into the Trinket were the operators, so for lack of any better idea, I decided that we would calculate the calories of peppermints. I wish I could have thought of something more creative, but it served diff --git a/_posts/ShyArmadillo8/2016-01-26-JasminePlottTreasureHuntTurtle.md b/_posts/ShyArmadillo8/2016-01-26-JasminePlottTreasureHuntTurtle.md index a7c2df8a..c7a5eafa 100644 --- a/_posts/ShyArmadillo8/2016-01-26-JasminePlottTreasureHuntTurtle.md +++ b/_posts/ShyArmadillo8/2016-01-26-JasminePlottTreasureHuntTurtle.md @@ -4,17 +4,13 @@ author: ShyArmadillo8 title: "Jasmine Plott's Treasure Hunt Turtle" --- -Creating this program was quite the experience. I'm not completely sure that I understand why I had to format the code in some of the ways -that I did, but at least it is finally working! I'll elaborate on some of the lessons that I learned along the way. +Creating this program was quite the experience. I'm not completely sure that I understand why I had to format the code in some of the ways that I did, but at least it is finally working! I'll elaborate on some of the lessons that I learned along the way. First of all, I really had to get the hang of the try and except dynamic. In the end, I discovered that I needed to put all the code that I wanted to work and all its various scenarios into the try bit, and then leave the except portion for other things that a user might put in (like letters instead of numbers). -Figuring out what elements I was not supposed to include was one of the easier parts of creating this program for me. Rather than limiting -what could go into the program, figuring out how to eliminate the bad input was one of the less challenging parts. I lumped this bit of -code down at the bottom of my program, so that after it tested the winning scenarios, it could move on to what didn't work. Here's -what I have: +Figuring out what elements I was not supposed to include was one of the easier parts of creating this program for me. Rather than limiting what could go into the program, figuring out how to eliminate the bad input was one of the less challenging parts. I lumped this bit of code down at the bottom of my program, so that after it tested the winning scenarios, it could move on to what didn't work. Here's what I have: ``` elif int(user_x) > 100 and int(user_x) < -100 and int(user_y) > 100 and int(user_y) < -100: @@ -25,9 +21,7 @@ what I have: print("Please enter a proper y coordinate between -100 and 100") ``` -The biggest learning curve for me was understanding that I simply couldn't just show a range of values and expect the computer to interpret -them as I would. It sounds vague using words, so I'll demonstrate below. Here is what I thought was the correct way to demonstrate a -range: +The biggest learning curve for me was understanding that I simply couldn't just show a range of values and expect the computer to interpret them as I would. It sounds vague using words, so I'll demonstrate below. Here is what I thought was the correct way to demonstrate a range: ``` if int(treasure_x)-15 <= int(user_x) <= int(treasure_x)+15 @@ -51,10 +45,7 @@ When this is really the best way to do it: ``` int(treasure_x)-15 <= int(user_x) and int(user_x) <= int(treasure_x)+15 ``` -In the first option, I was going for a range between 6 and 15, but in the second option, I just lumped everything together under 15. Related -to this discovery, I also found out that I needed to write my ranges in ascending order. So as the user guessed further away from the -treasure, the lower down I put this into my code. If I had done it the opposite way, then I never would have gotten to the other steps, -since everything would fall within 200 coordinates of the program. +In the first option, I was going for a range between 6 and 15, but in the second option, I just lumped everything together under 15. Related to this discovery, I also found out that I needed to write my ranges in ascending order. So as the user guessed further away from the treasure, the lower down I put this into my code. If I had done it the opposite way, then I never would have gotten to the other steps, since everything would fall within 200 coordinates of the program. I think that I likely made the user feedback process more complicated than I needed it to be. I wanted Tina to be a certain color within a certain range for the x coordinates and Tina to be a certain color within a certain range for the y coordinates. Hopefully, the user diff --git a/_posts/ShyArmadillo8/2016-01-28-JasminePlottTurtlesRefactored.md b/_posts/ShyArmadillo8/2016-01-28-JasminePlottTurtlesRefactored.md index 8c05fcd9..13cf2819 100644 --- a/_posts/ShyArmadillo8/2016-01-28-JasminePlottTurtlesRefactored.md +++ b/_posts/ShyArmadillo8/2016-01-28-JasminePlottTurtlesRefactored.md @@ -68,8 +68,7 @@ def calculate_calories(eat, peppermints): ``` Learning how to use a function to enable my program to repeat a loop for as many times as the user specified was so refreshing! It was -so much quicker and more concise than having to copy and paste the code, as I had done in the previous assignment. Functions are powerful -features, since they expand the extent of the program and take some pressure off the programmer too. +so much quicker and more concise than having to copy and paste the code, as I had done in the previous assignment. Functions are powerful features, since they expand the extent of the program and take some pressure off the programmer too. One thing that I was really excited to learn about was how to randomize background colors and peppermint colors by importing random. This was exactly what I was looking for in my program, since I wanted to experiment and see how much I could do with color each time. diff --git a/_posts/ShyArmadillo8/2016-02-02-JasminePlottClickyTurtle.md b/_posts/ShyArmadillo8/2016-02-02-JasminePlottClickyTurtle.md index 780a0bfa..7dde8fc1 100644 --- a/_posts/ShyArmadillo8/2016-02-02-JasminePlottClickyTurtle.md +++ b/_posts/ShyArmadillo8/2016-02-02-JasminePlottClickyTurtle.md @@ -7,8 +7,7 @@ title: "Jasmine Plott's Clicky Turtles" This was an exciting turtle exercise that allowed me to work on functions and better understand how the user can click on screen. What I decided to do for my final Trinket was to play a "game" of sorts where the user just clicks on the screen until a blue star appears. There is no specific layout as to how many times or where the user has to click for the star to turn blue, but when the blue star finally appears, -then the user has won the game, the user has won and is congratulated. Here is the code that I used for my setup function as a preface to -the game: +then the user has won the game, the user has won and is congratulated. Here is the code that I used for my setup function as a preface to the game: ``` def setup(screen): @@ -27,7 +26,7 @@ def setup(screen): sally.write("You don't want to? Too bad!!!", "Cambria", "right", "18pt bold") time.sleep(2) sally.clear() - ``` +``` After the user has been forced into the game, they are instructed to click the screen. This action causes stars of different colors to be drawn all throughout the screen. Here is the code that I used to define my star and its parameters: diff --git a/_posts/ShyArmadillo8/2016-02-04-JasminePlottChapter5Exercises.md b/_posts/ShyArmadillo8/2016-02-04-JasminePlottChapter5Exercises.md index 4d917013..e0e90106 100644 --- a/_posts/ShyArmadillo8/2016-02-04-JasminePlottChapter5Exercises.md +++ b/_posts/ShyArmadillo8/2016-02-04-JasminePlottChapter5Exercises.md @@ -12,8 +12,4 @@ Here is the link to my second exercise: -The first exercise wasn't so bad, but I had a really hard time with the second exercise and was unable to completely get it right in the end. I have -it set up so that it identifies the first digit of a number that you put in, but if you put in more than one number, even if the number -starts with a 9 but is smaller, the program spits out that this number is the maximum. I tried changing the numbas variable I created to -float and a variety of other different things that just didn't work. I'm quite frustrated, since I know that I must be missing something -but don't know what it is. Hopefully, I'll be able to figure this out in time. +The first exercise wasn't so bad, but I had a really hard time with the second exercise and was unable to completely get it right in the end. I have it set up so that it identifies the first digit of a number that you put in, but if you put in more than one number, even if the number starts with a 9 but is smaller, the program spits out that this number is the maximum. I tried changing the numbas variable I created to float and a variety of other different things that just didn't work. I'm quite frustrated, since I know that I must be missing something but don't know what it is. Hopefully, I'll be able to figure this out in time. diff --git a/_posts/ShyArmadillo8/2016-02-09-ColinNickelsAndJasminePlottChapter8Exercises.md b/_posts/ShyArmadillo8/2016-02-09-ColinNickelsAndJasminePlottChapter8Exercises.md index 8618533b..6f4736e6 100644 --- a/_posts/ShyArmadillo8/2016-02-09-ColinNickelsAndJasminePlottChapter8Exercises.md +++ b/_posts/ShyArmadillo8/2016-02-09-ColinNickelsAndJasminePlottChapter8Exercises.md @@ -3,7 +3,7 @@ layout: post author: - ShyArmadillo8 - wookiemage -title: "Colin Nickel's and Jasmine Plott's Chapter 8 Pair Programming Exercises" +title: "Colin Nickels' and Jasmine Plott's Chapter 8 Pair Programming Exercises" --- Here is the 8.4 exercise: @@ -15,6 +15,4 @@ Here is the 8.5 exercise: Here is the 8.6 exercise: -Overall, these were great exercises for continuing our practice with lists. The one that stumped us the most was Exercise 4. We had gotten -it right but were unsure why. After talking through the code though, we were better able to analyze what the issue was and why what we had -come up with was correct. The other exercises were fairly straightforward, and we were able to work through them with little difficulty. +Overall, these were great exercises for continuing our practice with lists. The one that stumped us the most was Exercise 4. We had gotten it right but were unsure why. After talking through the code though, we were better able to analyze what the issue was and why what we had come up with was correct. The other exercises were fairly straightforward, and we were able to work through them with little difficulty. diff --git a/_posts/ShyArmadillo8/2016-02-09-JasminePlottChapter8Exercises.md b/_posts/ShyArmadillo8/2016-02-09-JasminePlottChapter8Exercises.md index b18198d0..ef9340ff 100644 --- a/_posts/ShyArmadillo8/2016-02-09-JasminePlottChapter8Exercises.md +++ b/_posts/ShyArmadillo8/2016-02-09-JasminePlottChapter8Exercises.md @@ -7,8 +7,7 @@ title: "Jasmine Plott's Chapter 8 Exercises" Here is my 8.1 Exercise: -I really liked messing around this exercise. There is something so soothing about creating a list and then destroying it. Here is the function -that I used to create my list chopping: +I really liked messing around with this exercise. There is something so soothing about creating a list and then destroying it. Here is the function that I used to create my list chopping: ``` def chop(cheeses): @@ -21,22 +20,16 @@ def chop(cheeses): print("None. There are no more cheeses in this list.") ``` -From my experiences in the Chapter 6 exercises, I realized that I needed to make sure that the ranges I put in my indexes for cheeses needed -to be integers. This is why I created length to account for the length of the cheeses list and then last, which is based on the last item in -the list of cheeses. Once I straightened that out, things got a lot simplier and I just kept chopping until there were no longer any cheeses -in the list. +From my experiences in the Chapter 6 exercises, I realized that I needed to make sure that the ranges I put in my indexes for cheeses needed to be integers. This is why I created length to account for the length of the cheeses list and then last, which is based on the last item in the list of cheeses. Once I straightened that out, things got a lot simpler and I just kept chopping until there were no longer any cheeses in the list. Here is my 8.2 Exercise: This exercise took me longer than it should have I think. I couldn't figure out how to add the text to the code, since I kept trying to -save it under the same name that we were given under the code. However, when I changed the name of my file to mytext.txt, it suddenly worked. -Why is this? +save it under the same name that we were given under the code. However, when I changed the name of my file to mytext.txt, it suddenly worked. Why is this? Now that my program was reading the text again, I played around with it and discovered that if the second(in human brains third) word in -the list was not a weekday, then it printed that word anyways. I entered snail, and it entered snail instead of Sat. To fix this, I -made a list of weekdays and set the program so that if it was not a weekday, it would not enter anything for that line. It looked something -like this: +the list was not a weekday, then it printed that word anyways. I entered snail, and it entered snail instead of Sat. To fix this, I made a list of weekdays and set the program so that if it was not a weekday, it would not enter anything for that line. It looked something like this: ``` weekdays = ["Mon", "Tues", "Wed", "Thu", "Fri", "Sat", "Sun"] diff --git a/_posts/ShyArmadillo8/2016-02-09-JasminePlottChapterSixExercises.md b/_posts/ShyArmadillo8/2016-02-09-JasminePlottChapterSixExercises.md index 45d66407..ed68ac53 100644 --- a/_posts/ShyArmadillo8/2016-02-09-JasminePlottChapterSixExercises.md +++ b/_posts/ShyArmadillo8/2016-02-09-JasminePlottChapterSixExercises.md @@ -31,9 +31,7 @@ numbers and they would print back to me, but I had to remember that unless I cha Here is my 6.3 exercise: -This one was not so bad for me, and I liked how I was able to combine my new string knowledge with my prior knowledge of functions. Functions -and learning how to write them are a skill that I'm still working to improve on, so this was a good exercise for me to play around with -prior and new knowledge. Here's my function that I wrote: +This one was not so bad for me, and I liked how I was able to combine my new string knowledge with my prior knowledge of functions. Functions and learning how to write them are a skill that I'm still working to improve on, so this was a good exercise for me to play around with prior and new knowledge. Here's my function that I wrote: ``` def counter(letter, word): @@ -47,10 +45,7 @@ def counter(letter, word): Here is my 6.4 exercise: -This was also a pretty exciting exercise, as I got to learn how to do a new string method for a specific word. The code explanation -for the website that we were referenced to better understand the method didn't make a lot of sense, but I found some examples online and -applied those to the definition that was in the reference. After this, things clicked quickly. I can see this being useful as for the -previous exercise to shorten things up. This will be good to keep in mind for the future. +This was also a pretty exciting exercise, as I got to learn how to do a new string method for a specific word. The code explanation for the website that we were referenced to better understand the method didn't make a lot of sense, but I found some examples online and applied those to the definition that was in the reference. After this, things clicked quickly. I can see this being useful as for the previous exercise to shorten things up. This will be good to keep in mind for the future. Here is my 6.5 exercise: diff --git a/_posts/ShyArmadillo8/2016-02-11-JasminePlottSlamPoetryTurtles.md b/_posts/ShyArmadillo8/2016-02-11-JasminePlottSlamPoetryTurtles.md index d8a8560a..b58939ef 100644 --- a/_posts/ShyArmadillo8/2016-02-11-JasminePlottSlamPoetryTurtles.md +++ b/_posts/ShyArmadillo8/2016-02-11-JasminePlottSlamPoetryTurtles.md @@ -21,8 +21,7 @@ still_going = True slam_poetry = [] ``` -This first part of the code is where I summoned TIna, set my loop to True, and created an empty list. I had Tina turn to the right -ninety degrees so that she was pointing downwards and would be able to write each line. +This first part of the code is where I summoned TIna, set my loop to True, and created an empty list. I had Tina turn to the right ninety degrees so that she was pointing downwards and would be able to write each line. ``` while still_going: @@ -32,8 +31,7 @@ while still_going: slam_poetry.append(lyrics) ``` -This above (and second) part of the code is where I created a loop to take the user input, which would ultimately be the lyrics, and then append each -of the lyrics to the list. +This above (and second) part of the code is where I created a loop to take the user input, which would ultimately be the lyrics, and then append each of the lyrics to the list. ``` x = 0 @@ -43,11 +41,7 @@ for lyrics in slam_poetry: x = x + 1 ``` -This final above portion of the code was the most complicated for me to figure out. I set x as a variable equal to 0, and then for each -of the lyrics in the slam poetry list I'd created, I asked Tina to write an item in slam poetry, move forward so she wouldn't overlap -with the next line, and then add one to x so that we could move on to the next item in the list until we'd completed the list. For -some reason, I kept finding that the program would give me an error if I specified the font, alignment, or font size of tina.write(), -and so I eventually just left these pieces off. I'll have to play around with these in the future to see what I can correct. +This final above portion of the code was the most complicated for me to figure out. I set x as a variable equal to 0, and then for each of the lyrics in the slam poetry list I'd created, I asked Tina to write an item in slam poetry, move forward so she wouldn't overlap with the next line, and then add one to x so that we could move on to the next item in the list until we'd completed the list. For some reason, I kept finding that the program would give me an error if I specified the font, alignment, or font size of tina.write(), and so I eventually just left these pieces off. I'll have to play around with these in the future to see what I can correct. Here is my completed Trinket: diff --git a/_posts/ShyArmadillo8/2016-02-16-JasminePlottRefactorTetrisTurtles.md b/_posts/ShyArmadillo8/2016-02-16-JasminePlottRefactorTetrisTurtles.md index bf6cbea6..740c992e 100644 --- a/_posts/ShyArmadillo8/2016-02-16-JasminePlottRefactorTetrisTurtles.md +++ b/_posts/ShyArmadillo8/2016-02-16-JasminePlottRefactorTetrisTurtles.md @@ -7,35 +7,15 @@ title: "Jasmine Plott's Refactored Tetris Turtles" Here is my completed refactored tetris turtles Trinket: -I liked this assignment, since it made me practice using strategies that I would not necessarily want to do like importing functions from -another module and using dictionaries. For some reason, I had it in my mind that these strategies were more difficult to put into practice -than they actually were, but it actually worked out quite nicely. - -When I first saw the code for this assignment, my immediate instinct was to separate all the different individual turtles and put them into -a separate module to create functions that would be called in. My reason for doing this was because the original code was simply too long -and it was too difficult to separate which portions were doing what exactly. By separating each of the specific turtles (whose purpose was -to draw a different portion of the gameboy), the code was cleared up significantly, and consisted primarily of a series of functions being -called. I wanted to keep all these turtles within the same module, since it made sense to group the functions in the different modules by -what the different turtles were doing. - -I had originally split the fin turtle functions (draw_screen, draw_grid, and fill_cell) into three separate turtles, but I discovered that -this was not an effective method. It made the program run incredibly slow and eventually crash the browser. I think this was because -the different modules and functions were communicating to each other constantly, which did not make the program as efficient as it should -have been. I solved this by introducing fin outside these functions and then defining the functions individually. - -I realized throughout the process of transferring these newly created functions to a second module that I needed to somehow have the colors -and pieces list available to all parts of the code. With guidance from the hint in the instructions for the assignment, I realized that -these were actually dictionaries. I was not sure how they worked at first, but I tried importing them from another module and it surprinsignly -worked! This was pretty exciting, since it was an experiment on my part. I will definitely use this as a tool in future programs. - -With these two changes alone, the code from the original decreased from almost 300 lines to around 60. I wanted to move the movement -functions moveLeft, moveRight, and moveDown into a separate module I had titled movements, but I discovered whenever I did so that this -caused the program to not register keyboard input. Perhaps I do not understand using keyboard input as much as I should, but this is a -goal that I intend to work towards better understanding in the future. I was able to import the draw_piece function from movements, which -was nice and increased the organization of my program so someone new to the setup would be able to read through it and understand the -parts that it had been separated into. - -The changes that I made to the program helped make it more easily readable to someone interested in understanding the code, helped shorten -the code, and made it easier to work with in the future. It reminded me of the other exercise that we had where we had to go back through one of -our previous homework assignments and turn the directions into functions; it looked a lot like my own code before and after this exercise. +I liked this assignment, since it made me practice using strategies that I would not necessarily want to do like importing functions from another module and using dictionaries. For some reason, I had it in my mind that these strategies were more difficult to put into practice than they actually were, but it actually worked out quite nicely. + +When I first saw the code for this assignment, my immediate instinct was to separate all the different individual turtles and put them into a separate module to create functions that would be called in. My reason for doing this was because the original code was simply too long and it was too difficult to separate which portions were doing what exactly. By separating each of the specific turtles (whose purpose was to draw a different portion of the gameboy), the code was cleared up significantly, and consisted primarily of a series of functions being called. I wanted to keep all these turtles within the same module, since it made sense to group the functions in the different modules by what the different turtles were doing. + +I had originally split the fin turtle functions (draw_screen, draw_grid, and fill_cell) into three separate turtles, but I discovered that this was not an effective method. It made the program run incredibly slow and eventually crash the browser. I think this was because the different modules and functions were communicating to each other constantly, which did not make the program as efficient as it should have been. I solved this by introducing fin outside these functions and then defining the functions individually. + +I realized throughout the process of transferring these newly created functions to a second module that I needed to somehow have the colors and pieces list available to all parts of the code. With guidance from the hint in the instructions for the assignment, I realized that these were actually dictionaries. I was not sure how they worked at first, but I tried importing them from another module and it surprinsignly worked! This was pretty exciting, since it was an experiment on my part. I will definitely use this as a tool in future programs. + +With these two changes alone, the code from the original decreased from almost 300 lines to around 60. I wanted to move the movement functions moveLeft, moveRight, and moveDown into a separate module I had titled movements, but I discovered whenever I did so that this caused the program to not register keyboard input. Perhaps I do not understand using keyboard input as much as I should, but this is a goal that I intend to work towards better understanding in the future. I was able to import the draw_piece function from movements, which was nice and increased the organization of my program so someone new to the setup would be able to read through it and understand the parts that it had been separated into. + +The changes that I made to the program helped make it more easily readable to someone interested in understanding the code, helped shorten the code, and made it easier to work with in the future. It reminded me of the other exercise that we had where we had to go back through one of our previous homework assignments and turn the directions into functions; it looked a lot like my own code before and after this exercise. diff --git a/_posts/ShyArmadillo8/2016-02-16-JasminePlottReflection.md b/_posts/ShyArmadillo8/2016-02-16-JasminePlottReflection.md index bab59436..9231fe38 100644 --- a/_posts/ShyArmadillo8/2016-02-16-JasminePlottReflection.md +++ b/_posts/ShyArmadillo8/2016-02-16-JasminePlottReflection.md @@ -4,29 +4,14 @@ author: ShyArmadillo8 title: "Jasmine Plott's Midsemester Reflection" --- - When I came into this class, I had very little and mostly unpleasant experiences with learning how to program. I had been scarred by -the Intro to Computer Science class that I had taken as a sophomore in my undergraduate years. The class had started out simple enough, but -as the semester progressed, that class slowly became my nightmare; there were no readings to help us better understand the concepts, the lessons -were primarily centered on watching the professor type different code on the screen and exclaming it "Well look at that!", and there was no -feedback on our assignments so if we did something wrong, there was no real guidance as to why it was incorrect. Needless to say, I was -very concerned that I would have a similar experience in this class, but I knew that learning how to program was an important skill that I needed -to be comfortable with and understand during my time in library school. - - Fortunately, this class has not been nearly as horrible as I feared it would be. I would still definitely consider this my most difficult -course, but I feel that I am learning practical skills that I can put to good use and that will be applicable to my future career. I was so -pleased the other day when a librarian visited one of my classes and demonstrated a visualization tool that he and a team had created using -Python. Aside from how this class applies to my future as a librarian, I also find that I appreciate the end products of finished programs -because I can understand how much time and effort went into them. I would have to say that the reason I have come to enjoy this course so -much though is because of how far I feel like I've already come, and it has not even been half a semester! + When I came into this class, I had very little and mostly unpleasant experiences with learning how to program. I had been scarred by the Intro to Computer Science class that I had taken as a sophomore in my undergraduate years. The class had started out simple enough, but as the semester progressed, that class slowly became my nightmare; there were no readings to help us better understand the concepts, the lessons were primarily centered on watching the professor type different code on the screen and exclaming it "Well look at that!", and there was nofeedback on our assignments so if we did something wrong, there was no real guidance as to why it was incorrect. Needless to say, I was very concerned that I would have a similar experience in this class, but I knew that learning how to program was an important skill that I needed to be comfortable with and understand during my time in library school. + + Fortunately, this class has not been nearly as horrible as I feared it would be. I would still definitely consider this my most difficult course, but I feel that I am learning practical skills that I can put to good use and that will be applicable to my future career. I was so pleased the other day when a librarian visited one of my classes and demonstrated a visualization tool that he and a team had created using Python. Aside from how this class applies to my future as a librarian, I also find that I appreciate the end products of finished programs because I can understand how much time and effort went into them. I would have to say that the reason I have come to enjoy this course so much though is because of how far I feel like I've already come, and it has not even been half a semester! Here is the first Trinket program that I created for our first homework assignment: - I remember looking at this code and thinking about how I did not understand it that much, but I knew that it did what I wanted to (which -was creating semi-circles and a star). Back then, my knowledge about Python and what you could do with it was limited to moving forward, -left, right, etc., but when I was going through my Trinkets I had created in preparation for this assignment, I realized that I actually -understood what all the code in the Trinket meant and that, if asked to, I would be able to talk someone through it. This is the code -that I used to draw semi-circles: + I remember looking at this code and thinking about how I did not understand it that much, but I knew that it did what I wanted to (which was creating semi-circles and a star). Back then, my knowledge about Python and what you could do with it was limited to moving forward, left, right, etc., but when I was going through my Trinkets I had created in preparation for this assignment, I realized that I actually understood what all the code in the Trinket meant and that, if asked to, I would be able to talk someone through it. This is the code that I used to draw semi-circles: ``` for x in range(180): @@ -34,9 +19,7 @@ for x in range(180): tina.right(1) ``` - At the time, I had no idea what "for" loops where, but looking back on this I realize now that for each degree in the specified range, -Tina is supposed to move forward 1 and right 1. This gradually creates the semi-circle. I also have the code sample that I used to -draw a star: + At the time, I had no idea what "for" loops where, but looking back on this I realize now that for each degree in the specified range, Tina is supposed to move forward 1 and right 1. This gradually creates the semi-circle. I also have the code sample that I used to draw a star: ``` def draw_star(size, color): @@ -55,12 +38,7 @@ def draw_star(size, color): draw_star(25, "yellow") ``` - Now that I have learned about them through our class exercises and readings, I recognize that this is a function for drawing a star -with a "for" loop to draw the five points of the star at a 72 degree angle. The "begin_fill" and "end_fill" portions of the code are -what instructs the program to fill in the star with the color specified when the function is called. Looking back at my first assignment -shows me how far I have truly come in being able to not just research the code that I want but being able to also understand what it -means and how it is being implemented. This is incredibly important, since I realized that sometimes if you do not understand the code -you are working with, it can cause problems. I realized this perhaps most poignantly in the Chapter 5 exercises. + Now that I have learned about them through our class exercises and readings, I recognize that this is a function for drawing a star with a "for" loop to draw the five points of the star at a 72 degree angle. The "begin_fill" and "end_fill" portions of the code are what instructs the program to fill in the star with the color specified when the function is called. Looking back at my first assignment shows me how far I have truly come in being able to not just research the code that I want but being able to also understand what it means and how it is being implemented. This is incredibly important, since I realized that sometimes if you do not understand the code you are working with, it can cause problems. I realized this perhaps most poignantly in the Chapter 5 exercises. Here are my fixed Chapter 5 exercises. The first is 5.1: @@ -68,8 +46,7 @@ Here are my fixed Chapter 5 exercises. The first is 5.1: This is the code for 5.2: - In hindsight, I wish that I had saved the code that I had originally turned in that was definitely incorrect to show what I had fixed. -However, this is the final fixed portion of the code from 5.1 that I struggled the most with: + In hindsight, I wish that I had saved the code that I had originally turned in that was definitely incorrect to show what I had fixed. However, this is the final fixed portion of the code from 5.1 that I struggled the most with: ``` while still_going: @@ -90,11 +67,7 @@ while still_going: average = 0 ``` - For some reason, I just could not wrap my mind around loops! This concept completely baffled me, and it did not help that I had copied -the code from the book to use in my program. As I alluded to above, I had not fully understand the code from the book (although I thought -that I had), and this got me off to a bad start in creating the above code. I am particularly proud of the above code because -this is what I was able to create in less than 10 minutes when I started from scratch. This lesson taught me that I need to understand -what the code I'm writing means and how to best implement it into what I am working with even if it is just a step at a time. + For some reason, I just could not wrap my mind around loops! This concept completely baffled me, and it did not help that I had copied the code from the book to use in my program. As I alluded to above, I had not fully understand the code from the book (although I thought that I had), and this got me off to a bad start in creating the above code. I am particularly proud of the above code because this is what I was able to create in less than 10 minutes when I started from scratch. This lesson taught me that I need to understand what the code I'm writing means and how to best implement it into what I am working with even if it is just a step at a time. Here is the portion of code from 5.2 that I struggled the most with: @@ -127,22 +100,14 @@ while still_going: smallest = None ``` - Again, I had been confused by the readings because they advised using max() and min(), which I did not realize required lists to use. -I had also copied over some code from the book that led me in the opposite direction of where I needed to be going. This was a pretty -difficult exercise for me, since I do not think that I was ever able to completely get it correct in the end, but I found that starting -from scratch was one of the best decisions I had made. I believe that this also taught me how to write this code the "hard" way so that -I could appreciate the use of max() and min() later on. I also now have a much better understanding of loops. + Again, I had been confused by the readings because they advised using max() and min(), which I did not realize required lists to use. I had also copied over some code from the book that led me in the opposite direction of where I needed to be going. This was a pretty difficult exercise for me, since I do not think that I was ever able to completely get it correct in the end, but I found that starting from scratch was one of the best decisions I had made. I believe that this also taught me how to write this code the "hard" way so that I could appreciate the use of max() and min() later on. I also now have a much better understanding of loops. - It was after completing these exercises that I realized I needed to learn how to develop some problem solving strategies for when I -did get frustrated and stuck with my assignments as I had with the Chapter 5 exercises. One of the biggest problem solving strategies -that I have implemented with time (other than showering or taking a break for a cup of tea) is printing the variable type. This came in -handy for exercise 6.1 in particular. + It was after completing these exercises that I realized I needed to learn how to develop some problem solving strategies for when I did get frustrated and stuck with my assignments as I had with the Chapter 5 exercises. One of the biggest problem solving strategies that I have implemented with time (other than showering or taking a break for a cup of tea) is printing the variable type. This came in handy for exercise 6.1 in particular. Here is the Trinket for exercise 6.1: - I remember that this problem took a while for me to figure out, but I was able to do so with persistence, patience, and printing the -variable type, which was important for this exercise. This portion of the code was where I used my problem solving strategy: + I remember that this problem took a while for me to figure out, but I was able to do so with persistence, patience, and printing the variable type, which was important for this exercise. This portion of the code was where I used my problem solving strategy: ``` length = len(user_input) @@ -158,40 +123,12 @@ while index < length: break ``` - What I had to figure out in this code was how to get the index to start at the last letter in the word and register that as a number -rather than a string (which it was). This exercise challenged me to think about the different ways that I would be able to do so with -the code that I had learned from the readings. Using my lesson I had learned from before about starting from scratch and working with -the code bit by bit, I was able create the variable "last" which served as the number for the last letter in the word. Since my experience -with printing the variable type and ruling out the possible problems presented throughout creating this code, I have used this as a strategy -for working with the other programs that I have created for this class; I will continue to do so into the future. - - Looking back on these major milestones throughout my time in this course, I see that I have overcome some major obstacles and learning -curves: being able to interpret and read code that I did not orginally create and understand at the time, starting with small steps to -create my own code and understand new concepts, and developing problem solving strategies so that I can remain rational when I might be -frustrated or inclined to give up. Thinking about these milestones made me consider the goals that I would like to put into place for -the second half of this semester. - - First of all, I have been highly concerned about how much time I have been spending on my programs. I feel like I am definitely learning, -but there are times when I feel like I am spending an excessive amount of time on assignments. I have started the strategy of beginning -sooner rather than later on my exercises, and I am usually able to produce something. I want to develop strategies for what to do if -I have no idea at all what to do. Ways that I could get around this might be reaching out to others for help be it classmates or -finding online resources that seem plausible; the one problem I have with online resources is that I do not necessarily know who to trust or -who to turn to, which might be good to know- is there such a list available? I wonder if there is also guidance on about how long we -should be spending on these assignments-how much is enough? - - One thing that I really have enjoyed and would like to continue throughout the rest of the semester is pair programming. While I have an -idea of what is expected from completing the homework exercises, I find it immensely helpful to work with another person to accomplish -assignments based off what we have learned in more difficult exercises. I like bouncing ideas and strategies off another person to see -what we can create, which is usually better than what I would build on my own. We all think in different ways, and I am always curious -to see how someone else approached a problem and how they applied the knowledge that we learned in class. I look forward to doing more -assignments such as these throughout the semester, but I wonder if there is a way that we can keep the exercises we work on as pairs to -what we complete in class? Working around each other's schedules before midnight on that same day can be difficult to work out -sometimes, but I do want to keep up the pair programming, since I find that it is a really fruitful, positive experience. - - Thinking about my experience so far in this class, I am going to focus on building my confidence with programming, learning more problem -strategies other than printing type, rearranging my code, and working the errors that the code produces, and trying not to feel so frustrated -when I encounter problems with my code. Even though I aim to improve these things, I believe that some of my strengths in this class are -my persistence and ability to try to reach out and understand code that we have not gone over yet. I also have become better at working -with the strategies we are taught throughout the textbook and working to iron out exactly what more technical explanations of certain -methods mean. With these goals and thoughts in mind, I look forward to learning more and becoming a better programmer throughout the rest -of the semester. + What I had to figure out in this code was how to get the index to start at the last letter in the word and register that as a number rather than a string (which it was). This exercise challenged me to think about the different ways that I would be able to do so with the code that I had learned from the readings. Using my lesson I had learned from before about starting from scratch and working with the code bit by bit, I was able create the variable "last" which served as the number for the last letter in the word. Since my experience with printing the variable type and ruling out the possible problems presented throughout creating this code, I have used this as a strategy for working with the other programs that I have created for this class; I will continue to do so into the future. + + Looking back on these major milestones throughout my time in this course, I see that I have overcome some major obstacles and learning curves: being able to interpret and read code that I did not orginally create and understand at the time, starting with small steps to create my own code and understand new concepts, and developing problem solving strategies so that I can remain rational when I might be frustrated or inclined to give up. Thinking about these milestones made me consider the goals that I would like to put into place for the second half of this semester. + + First of all, I have been highly concerned about how much time I have been spending on my programs. I feel like I am definitely learning, but there are times when I feel like I am spending an excessive amount of time on assignments. I have started the strategy of beginning sooner rather than later on my exercises, and I am usually able to produce something. I want to develop strategies for what to do if I have no idea at all what to do. Ways that I could get around this might be reaching out to others for help be it classmates or finding online resources that seem plausible; the one problem I have with online resources is that I do not necessarily know who to trust or who to turn to, which might be good to know- is there such a list available? I wonder if there is also guidance on about how long we should be spending on these assignments-how much is enough? + + One thing that I really have enjoyed and would like to continue throughout the rest of the semester is pair programming. While I have an idea of what is expected from completing the homework exercises, I find it immensely helpful to work with another person to accomplish assignments based off what we have learned in more difficult exercises. I like bouncing ideas and strategies off another person to see what we can create, which is usually better than what I would build on my own. We all think in different ways, and I am always curious to see how someone else approached a problem and how they applied the knowledge that we learned in class. I look forward to doing more assignments such as these throughout the semester, but I wonder if there is a way that we can keep the exercises we work on as pairs to what we complete in class? Working around each other's schedules before midnight on that same day can be difficult to work out sometimes, but I do want to keep up the pair programming, since I find that it is a really fruitful, positive experience. + + Thinking about my experience so far in this class, I am going to focus on building my confidence with programming, learning more problem strategies other than printing type, rearranging my code, and working the errors that the code produces, and trying not to feel so frustrated when I encounter problems with my code. Even though I aim to improve these things, I believe that some of my strengths in this class are my persistence and ability to try to reach out and understand code that we have not gone over yet. I also have become better at working with the strategies we are taught throughout the textbook and working to iron out exactly what more technical explanations of certain methods mean. With these goals and thoughts in mind, I look forward to learning more and becoming a better programmer throughout the rest of the semester. diff --git a/_posts/ShyArmadillo8/2016-02-18-JasminePlottDrawingAppMilestones.md b/_posts/ShyArmadillo8/2016-02-18-JasminePlottDrawingAppMilestones.md index 7499f5cd..8b2c6dce 100644 --- a/_posts/ShyArmadillo8/2016-02-18-JasminePlottDrawingAppMilestones.md +++ b/_posts/ShyArmadillo8/2016-02-18-JasminePlottDrawingAppMilestones.md @@ -4,9 +4,7 @@ author: ShyArmadillo8 title: "Jasmine Plott's Milestones" --- New Update: -After talking with Hannah about our milestones and goals for this assignment, I decided that it might be a good idea to rethink my -assignment and save my Frogger idea for later when we do more actual game development projects. What I've decided to do instead is -focusing on creating a night sky with shooting stars across it. The drawing portion of this app will be based on the user drawing a shooting star through the sky, which can vary in width depending on what they want the star to look like. As the star "shoots" through the sky, I would like to make the flowers glow. +After talking with Hannah about our milestones and goals for this assignment, I decided that it might be a good idea to rethink my assignment and save my Frogger idea for later when we do more actual game development projects. What I've decided to do instead is focusing on creating a night sky with shooting stars across it. The drawing portion of this app will be based on the user drawing a shooting star through the sky, which can vary in width depending on what they want the star to look like. As the star "shoots" through the sky, I would like to make the flowers glow. - [ ] Pressing certain keys allows changing the width of the star - [ ] Allow the user to drag the turtle across the screen to make the shooting star @@ -15,12 +13,7 @@ focusing on creating a night sky with shooting stars across it. The drawing por - [ ] When the user drags the star across the screen, have the flowers glow Old Bad Idea: -The ultimate vision that I have for my final drawing app project is something like Frogger's Adventures. For those who aren't very familiar -with Frogger, here is a picture: http://s.emuparadise.org/fup/up/43431-Frogger's_Adventures_-_Temple_of_the_Frog_(U)(Lightforce)-2.png -This may be an overly ambitious endeavor, but as I was watching the different videos, I kept thinking how cool it would be to make a game -like this and be able to incorporate drawing elements into it. Ideally what I'd want is one turtle that the user would control and -navigate through the obstacles (sets of moving turtles) on the screen while trying to connect a series of dots that is a "map to the treasure." -Here are some of the milestones that I would need to accomplish in order to make this work: +The ultimate vision that I have for my final drawing app project is something like Frogger's Adventures. For those who aren't very familiar with Frogger, here is a picture: http://s.emuparadise.org/fup/up/43431-Frogger's_Adventures_-_Temple_of_the_Frog_(U)(Lightforce)-2.png This may be an overly ambitious endeavor, but as I was watching the different videos, I kept thinking how cool it would be to make a game like this and be able to incorporate drawing elements into it. Ideally what I'd want is one turtle that the user would control and navigate through the obstacles (sets of moving turtles) on the screen while trying to connect a series of dots that is a "map to the treasure." Here are some of the milestones that I would need to accomplish in order to make this work: - [ ] Have the turtle respond to the use of user arrow keys including Down, Up, Left, and Right - [ ] Call multiple turtles to the screen in specified coordinates as setup for the game @@ -31,5 +24,4 @@ to the main turtle that responds to user input - [ ] As Frogger connects each dot, change the thickness of the pen that follows behind him to trace his path - [ ] As Frogger connects each dot, change the background color of the screen and pen color -These might have to be redone to make them more manageable for the actual assignment, but I'm excited to see whether I can accomplish these -goals. +These might have to be redone to make them more manageable for the actual assignment, but I'm excited to see whether I can accomplish these goals. diff --git a/_posts/ShyArmadillo8/2016-02-23-JasminePlottDrawingAppSnapshot.md b/_posts/ShyArmadillo8/2016-02-23-JasminePlottDrawingAppSnapshot.md index 26724be3..50251905 100644 --- a/_posts/ShyArmadillo8/2016-02-23-JasminePlottDrawingAppSnapshot.md +++ b/_posts/ShyArmadillo8/2016-02-23-JasminePlottDrawingAppSnapshot.md @@ -4,9 +4,7 @@ author: ShyArmadillo8 title: "Jasmine Plott's Drawing App Snapshot" --- -After a bit of frustration, I have reached a point where I'm okay with my code being at the point that it is. I'm realized throughout -creating my code that there are definitely some milestones I made that might be out of reach, but for now, I have figured out ways to adapt -these milestones into more managable goals. Here are some things that I have done well so far: +After a bit of frustration, I have reached a point where I'm okay with my code being at the point that it is. I'm realized throughout creating my code that there are definitely some milestones I made that might be out of reach, but for now, I have figured out ways to adapt these milestones into more managable goals. Here are some things that I have done well so far: - I have been able to get my program to respond to user input through the keyboard - I have been able to get my program to respond to clicking on the screen @@ -19,10 +17,8 @@ Here are some things that I'm struggling to accomplish: - I'm having trouble successfully switching between modes, especially if the draw planet mode is clicked initially, nothing else wants to happen. I've tried a couple different strategies, but nothing I've done yet seems to work. -- I need to somehow incorporate a for loop into my program, but I am not sure where this would be appropriate. I need to -brainstorm how to do this -- I need to stop my star line from creating abstract shapes and be just a line. I've played with myscreen.tracer and myscreen.update, but -neither of these methods seems to be helping. +- I need to somehow incorporate a for loop into my program, but I am not sure where this would be appropriate. I need to brainstorm how to do this +- I need to stop my star line from creating abstract shapes and be just a line. I've played with myscreen.tracer and myscreen.update, but neither of these methods seems to be helping. Hopefully, I'll be able to work these things out by Thursday! Here's my snapshot: diff --git a/_posts/ShyArmadillo8/2016-02-25-JasminePlottDrawingApp.md b/_posts/ShyArmadillo8/2016-02-25-JasminePlottDrawingApp.md index a3dba98f..e2424423 100644 --- a/_posts/ShyArmadillo8/2016-02-25-JasminePlottDrawingApp.md +++ b/_posts/ShyArmadillo8/2016-02-25-JasminePlottDrawingApp.md @@ -81,10 +81,7 @@ they would. The final issue that I would like to improve upon is hiding the app even though I have them hidden appropriately. It's probably some small mistake that I'm making that isn't clear to me right now. Despite all the obstacles that I have had throughout creating this program, I do feel like I really went through a lot of personal growth -and challenging myself for this project. I learned how to use the onkey() and onscreen() tools better, worked on changing with modes(although -I could use some improvement there), and was able to accomplish more of my milestones than I had realized. Initially, I'd thought that -I hadn't been able to complete any of them, but as I worked through the project, I found that my milestones evolved and adapted to make -the program suit my needs. I also did a pretty good job of documenting my code to explain the reasoning behind what I'd done. I look forward to working on and improving my skills with programs like these into the future. +and challenging myself for this project. I learned how to use the onkey() and onscreen() tools better, worked on changing with modes(although I could use some improvement there), and was able to accomplish more of my milestones than I had realized. Initially, I'd thought that I hadn't been able to complete any of them, but as I worked through the project, I found that my milestones evolved and adapted to make the program suit my needs. I also did a pretty good job of documenting my code to explain the reasoning behind what I'd done. I look forward to working on and improving my skills with programs like these into the future. diff --git a/_posts/ShyArmadillo8/2016-03-03-JasminePlottGameMilestones.md b/_posts/ShyArmadillo8/2016-03-03-JasminePlottGameMilestones.md index 1bb652bf..6ffcfe91 100644 --- a/_posts/ShyArmadillo8/2016-03-03-JasminePlottGameMilestones.md +++ b/_posts/ShyArmadillo8/2016-03-03-JasminePlottGameMilestones.md @@ -7,16 +7,19 @@ title: "Jasmine Plott's Game Milestones" I don't really have a clear vision for what I would like my game to look like yet. I think that it would be really cool to have a game where I have my turtle move around the screen and eat the "objects" on it. I would like my turtle to grow longer or somehow have these "objects" trail behind them to make a tail, but I'm concerned that this might be too out of my league. I think that what I'll do first is have the turtle have to move around the different objects on the screen to collect coins (if I can figure out how the image import works I could do food), and if I accomplish my basic milestones, I can add the tail to my turtle. Necessary Milestones: -- [ ] allow user to select which character they want -- [ ] allow character selection to occur by clicking on screen -- [ ] allow the character to respond to key input for movement -- [ ] allow the user to win -- [ ] indicate winning by having the turtle write it on the screen or playing animation -- [ ] keep track of how much the turtle has "eaten" by displaying the number on the screen + +- [ ] Allow user to select which character they want +- [ ] Allow character selection to occur by clicking on screen +- [ ] Allow the character to respond to key input for movement +- [ ] Allow the user to win +- [ ] Indicate winning by having the turtle write it on the screen or playing animation +- [ ] Keep track of how much the turtle has "eaten" by displaying the number on the screen Optional Milestones: -- [ ] allow the user to start from scratch -- [ ] add the objects that the turtle has eaten to be added to the chain that follows the turtle + +- [ ] Allow the user to start from scratch +- [ ] Add the objects that the turtle has eaten to be added to the chain that follows the turtle Stretch Milestones: -- [ ] if the turtle runs into its own chain then a lose screen appears + +- [ ] If the turtle runs into its own chain then a lose screen appears diff --git a/_posts/ShyArmadillo8/2016-03-10-JasminePlottGameApp.md b/_posts/ShyArmadillo8/2016-03-10-JasminePlottGameApp.md index 50f24d4d..2dda299d 100644 --- a/_posts/ShyArmadillo8/2016-03-10-JasminePlottGameApp.md +++ b/_posts/ShyArmadillo8/2016-03-10-JasminePlottGameApp.md @@ -14,11 +14,12 @@ Part of the problem was that I had initially settled on trying to recreate the S While this game was not what I had initially envisioned, I am very happy that it turned out the way that it did-partially because I was experiencing emotional distress in regards to my program and how I did not believe that I would be able to actually make this work. I was able to acheive most of the requirements for the program, and I was also able to accomplish the majority of the milestones that I had set out from the beginning. Here they are in their completed format: Necessary Milestones: -- [X] allow the user to start the game by clicking on the screen -- [X] allow the character to respond to key input for movement -- [X] allow the user to win -- [X] indicate winning by having the turtle write it on the screen or playing animation -- [X] keep track of how much the turtle has “eaten” by displaying the number on the screen + +- [x] Allow the user to start the game by clicking on the screen +- [x] Allow the character to respond to key input for movement +- [x] Allow the user to win +- [x] Indicate winning by having the turtle write it on the screen or playing animation +- [x] Keep track of how much the turtle has “eaten” by displaying the number on the screen Because of the difficulties that I had been facing with my program I decided that I would just stick to accomplishing my necessary milestones and move to the optional and stretch milestones another time, especially since they were more relevant to my original plan with the Snake game. It would have been nice to add further components to my game, such as restarting the game when the sheep went off the screen, but by the time I had gotten my program written and working, I decided that this was a battle I would leave for another day (or another program perhaps). diff --git a/_posts/ShyArmadillo8/2016-03-30-JasmineAndOmarRegexExercises.md b/_posts/ShyArmadillo8/2016-03-30-JasmineAndOmarRegexExercises.md new file mode 100644 index 00000000..72ef9b92 --- /dev/null +++ b/_posts/ShyArmadillo8/2016-03-30-JasmineAndOmarRegexExercises.md @@ -0,0 +1,17 @@ +--- +layout: post +author: +- ShyArmadillo8 +- namagic +title: "Jasmine and Omar's Regex Exercises" +--- +Below are our regex exercises: + +Exercise 1: + +Exercise 2: + +Exercise 3: + +These exercises were a good way for us to get more acquainted with some new concepts that were at first a bit challenging. Exercise 3 was definitely the most difficult of the exercises, but once we played around with it, figuring out the code got significantly easier. We took a lot of inspiration from the code that we used for our Files exercises and thought about how we could "translate" what we had for these exercises into something that would incorporate regular expressions. With these thoughts in mind, regular expressions in Python are truly like learning a language of their own, but they are also incredibly useful in that they allow you to be specific enough to pull out what you want from specific areas of code. Exercise 3 helped us better understand and actually interact with regular expressions, so when we got to Exercises 1 and 2, we were able to use some of what we had already experimented with (both unsuccessfully and successfully) to figure out the code for these exercises fairly quickly. This was a good pair programming exercise and helped us both better understand regular expressions. + diff --git a/_posts/batlopez/2016-03-30-Javairia-and-Nat-RegExp.md b/_posts/batlopez/2016-03-30-Javairia-and-Nat-RegExp.md new file mode 100644 index 00000000..be9acf79 --- /dev/null +++ b/_posts/batlopez/2016-03-30-Javairia-and-Nat-RegExp.md @@ -0,0 +1,26 @@ +--- +layout: post +author: +- batlopez +- jwarrich +title: "Regular Expressions In-Class Assignment" +--- + +Exercise 1: + + +Exercise 2: + + + +Exercise 3: + + + +Reflection: +(Nat) Exercise 1 was pretty straight forward once I referred back to the text and realized I could use re.search(). However, I was frustrated that I couldn't figure out how to make it so that it would only look for the word that was inputted rather than the letters (i.e. if I tested it with the word 'cat,' it would count words that just had the letters 'cat' together within the whole word.) I used \\b after struggling for a long time with how to put together the statement and think that should work. + + +(Javairia)Exercise 2 was similar to the the examples given in the book. The only difference was finding the average. I recalled that we had to do find the average in a previous exercise and did something similar to that. Exercise 3 was a little confusing when we initially started it. For me the hardest part was figuring out how to print all the rows that contained the expression. + +(Nat & Javaira) It took quite some time to figure this one out! The main issue we had was figuring out how to isolate the rows. We didn't remember that we had to break up the list into another list. Once we realized that, we were able to pretty easily create the for statements to return the rows with the input column and regex that matched. diff --git a/_posts/clairewlj/2016-02-24-LingjiesDrawingAPP.md b/_posts/clairewlj/2016-02-24-LingjiesDrawingAPP.md index 6263cb06..6e4161fe 100644 --- a/_posts/clairewlj/2016-02-24-LingjiesDrawingAPP.md +++ b/_posts/clairewlj/2016-02-24-LingjiesDrawingAPP.md @@ -17,6 +17,7 @@ During the process, I've learned much more about the screen object, particularly I haven't changed much of my program from Tuesday. I realized that without setting boundaries, the drawing might exceed the edge of screen, so I put some conditional executions to avoid that. But I'm not sure if it's appropriate. What's more, I changed the size of instructions at the bottom. Milestones: + - [ ] Drawing instructions and background - [ ] Creating functions to draw preset shapes - [ ] Creating functions to change the value of fillcolor diff --git a/_posts/clairewlj/2016-03-02-LingjiesGameAppMilestone.md b/_posts/clairewlj/2016-03-02-LingjiesGameAppMilestone.md index caf013c5..1ea1d37c 100644 --- a/_posts/clairewlj/2016-03-02-LingjiesGameAppMilestone.md +++ b/_posts/clairewlj/2016-03-02-LingjiesGameAppMilestone.md @@ -7,6 +7,7 @@ title: "Lingjie's Game App Milestones" The game app I want to create is a simple version of Gold Miner. My program will include 2 or more difficulty levels, which user can click screen to choose. And when playing the game, user need to press keys such as "Left" and "Right" to control the directions of the hook/turtle towards gold, and press another key such as "Enter" to let the hook/turtle go for the gold. There will be different size of gold spread on the screen with different values/scores as well as different sizes of barriers. The user should earn enough scores to win the game. Milestones: + - [ ] Draw background of 2 or more different difficulty levels of gold mine. - [ ] Draw different sizes of gold and barriers on the screen. - [ ] Write functions related to change game mode diff --git a/_posts/clairewlj/2016-03-09-LingjiesGameApp.md b/_posts/clairewlj/2016-03-09-LingjiesGameApp.md index 249533c1..34e41962 100644 --- a/_posts/clairewlj/2016-03-09-LingjiesGameApp.md +++ b/_posts/clairewlj/2016-03-09-LingjiesGameApp.md @@ -9,16 +9,16 @@ This is my Game App: The picture source:http://nuclear-news.net/2013/08/13/fukushima-protest-contest-win-a-gold-bar-from-ebisu-studios/ -Milestones: - - [x] Draw background of 2 or more different difficulty levels of gold mine - - [x] Draw different sizes of gold and barriers on the screen. - - [x] Write functions related to change game mode - - [x] Write functions related to screen.onkey for controling directions of hook/turtle - - [ ] Write functions related to change scores according to user’s gold mining result - - [x] Write congratulating function - - [x] link shooting speed with click. - - [ ] create "Win" animation - +Milestone: + +- [x] Draw background of 2 or more different difficulty levels of gold mine +- [x] Draw different sizes of gold and barriers on the screen. +- [x] Write functions related to change game mode +- [x] Write functions related to screen.onkey for controling directions of hook/turtle +- [x] Write congratulating function +- [x] link shooting speed with click. +- [ ] create "Win" animation +- [ ] Write functions related to change scores according to user’s gold mining result Reflection: I’ll have to apologize first for the game looking too simple right now, as I failed to spend enough time on it. I’ll keep working on it during the Spring break. diff --git a/_posts/clairewlj/2016-03-29-Lingjie-and-Jay-Exercises.md b/_posts/clairewlj/2016-03-29-Lingjie-and-Jay-Exercises.md new file mode 100644 index 00000000..1fa335e4 --- /dev/null +++ b/_posts/clairewlj/2016-03-29-Lingjie-and-Jay-Exercises.md @@ -0,0 +1,10 @@ +--- +layout: post +author: +- JayYang95 +- clairewlj +title: "Jay and Lingjie's Regex Exercises" +--- + +Exercises 1-3: + diff --git a/_posts/elliott/2016-03-29-mar29notes.md b/_posts/elliott/2016-03-29-mar29notes.md index 92836598..9544e9ba 100644 --- a/_posts/elliott/2016-03-29-mar29notes.md +++ b/_posts/elliott/2016-03-29-mar29notes.md @@ -6,6 +6,31 @@ layout: post title: "Regex & basic search" --- -Jekyll basics +# Files + +Here's my solution for the exercies: + + + +Notice: no `i = 0`, no `while` loops, and no `range()` needed. Lots of `for` loops and, to get fancy, `.join()`ing around a `"\t"`. + +In short, slice out the rows you want, `for` loop over them, and *do something* with each row. + +# Jekyll & git + +Hard homework? This was like a blog post, walk-thru, or stack overflow answer. Even starting with +*exactly* the same development environment, small deviations from or errors in the instructions can +throw you off. + +I made a [how-to]({{ site.baseurl }}/how-to/gitcheatsheet.html). + +You'll have a second chance to improve your posts before being evaluated on their formatting. + +# Quiz + +Yup. + +# Regexes + +Just like last time, I recommend glancing over the first ones and working on the last one together. -Strings/regex files example \ No newline at end of file diff --git a/_posts/elliott/2016-03-31-mar31notes.md b/_posts/elliott/2016-03-31-mar31notes.md index 3e3c733d..bf004796 100644 --- a/_posts/elliott/2016-03-31-mar31notes.md +++ b/_posts/elliott/2016-03-31-mar31notes.md @@ -3,9 +3,20 @@ author: elliott category: notes published: true layout: post -title: "Notes TBD" +title: "Dictionaries are Wonderful" --- -CSV example to revisit: +# Finding Exercises in our Repo - \ No newline at end of file +You can always go into the _posts/exercies directory and find the source code to exercises posts. Class notes are in _posts/elliott. Readings are in _posts/readings. + +# Regex Exercise solved + + + +# Dictionaries + +Dictionaries are like simple mini databases. They're great at keeping track of statistics. + +Today we'll use **dictionaries of dictionaries** that will let you store and retrieve multiple stats about a state. This +is a core data analysis skill. \ No newline at end of file diff --git a/_posts/elliott/2016-04-05-apr5notes.md b/_posts/elliott/2016-04-05-apr5notes.md new file mode 100644 index 00000000..f21dd16f --- /dev/null +++ b/_posts/elliott/2016-04-05-apr5notes.md @@ -0,0 +1,7 @@ +--- +author: elliott +category: notes +published: true +title: "Notes TBD" +layout: post +--- \ No newline at end of file diff --git a/_posts/elliott/2016-04-07-apr7notes.md b/_posts/elliott/2016-04-07-apr7notes.md new file mode 100644 index 00000000..f21dd16f --- /dev/null +++ b/_posts/elliott/2016-04-07-apr7notes.md @@ -0,0 +1,7 @@ +--- +author: elliott +category: notes +published: true +title: "Notes TBD" +layout: post +--- \ No newline at end of file diff --git a/_posts/elliott/2016-04-12-apr12notes.md b/_posts/elliott/2016-04-12-apr12notes.md new file mode 100644 index 00000000..f21dd16f --- /dev/null +++ b/_posts/elliott/2016-04-12-apr12notes.md @@ -0,0 +1,7 @@ +--- +author: elliott +category: notes +published: true +title: "Notes TBD" +layout: post +--- \ No newline at end of file diff --git a/_posts/elliott/2016-04-14-apr14notes.md b/_posts/elliott/2016-04-14-apr14notes.md new file mode 100644 index 00000000..f21dd16f --- /dev/null +++ b/_posts/elliott/2016-04-14-apr14notes.md @@ -0,0 +1,7 @@ +--- +author: elliott +category: notes +published: true +title: "Notes TBD" +layout: post +--- \ No newline at end of file diff --git a/_posts/elliott/2016-04-19-apr19notes.md b/_posts/elliott/2016-04-19-apr19notes.md new file mode 100644 index 00000000..f21dd16f --- /dev/null +++ b/_posts/elliott/2016-04-19-apr19notes.md @@ -0,0 +1,7 @@ +--- +author: elliott +category: notes +published: true +title: "Notes TBD" +layout: post +--- \ No newline at end of file diff --git a/_posts/elliott/2016-04-21-apr21notes.md b/_posts/elliott/2016-04-21-apr21notes.md new file mode 100644 index 00000000..f21dd16f --- /dev/null +++ b/_posts/elliott/2016-04-21-apr21notes.md @@ -0,0 +1,7 @@ +--- +author: elliott +category: notes +published: true +title: "Notes TBD" +layout: post +--- \ No newline at end of file diff --git a/_posts/elliott/2016-04-26-apr26notes.md b/_posts/elliott/2016-04-26-apr26notes.md new file mode 100644 index 00000000..f21dd16f --- /dev/null +++ b/_posts/elliott/2016-04-26-apr26notes.md @@ -0,0 +1,7 @@ +--- +author: elliott +category: notes +published: true +title: "Notes TBD" +layout: post +--- \ No newline at end of file diff --git a/_posts/elliott/2016-04-29-apr29notes.md b/_posts/elliott/2016-04-29-apr29notes.md new file mode 100644 index 00000000..f21dd16f --- /dev/null +++ b/_posts/elliott/2016-04-29-apr29notes.md @@ -0,0 +1,7 @@ +--- +author: elliott +category: notes +published: true +title: "Notes TBD" +layout: post +--- \ No newline at end of file diff --git a/_posts/ericabrody/2016-02-09-Erica-Yiyang-In-class.md b/_posts/ericabrody/2016-02-09-Erica-Yiyang-In-class.md index b7e8c288..06b2051c 100644 --- a/_posts/ericabrody/2016-02-09-Erica-Yiyang-In-class.md +++ b/_posts/ericabrody/2016-02-09-Erica-Yiyang-In-class.md @@ -2,8 +2,8 @@ layout: post author: - ericabrody -- yiyang -title: "Erica's Chapter 3 Exercises" +- yiyangshi +title: "Erica and Yiyang In Class Exercises" --- Exercise 1: diff --git a/_posts/ericabrody/2016-02-24-ericabrody-drawing2.md b/_posts/ericabrody/2016-02-24-ericabrody-drawing2.md index b70c71cc..d0e0d78f 100644 --- a/_posts/ericabrody/2016-02-24-ericabrody-drawing2.md +++ b/_posts/ericabrody/2016-02-24-ericabrody-drawing2.md @@ -1,7 +1,7 @@ --- layout: post author: ericabrody -title: “Erica's drawing program" +title: "Erica's drawing program" --- Here is my drawing program: diff --git a/_posts/ericabrody/2016-03-03-ericabrody-Game-milestones_2.md b/_posts/ericabrody/2016-03-03-ericabrody-Game-milestones_2.md deleted file mode 100644 index f92ce006..00000000 --- a/_posts/ericabrody/2016-03-03-ericabrody-Game-milestones_2.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: post -author: ericabrody -title: "Erica's Game Milestones " ---- -Premise of game: -To get points, the player uses the keyboard to move around and pick up berries around the screen and put them in a basket at the top right-hand corner of the screen. Player gets 1 point for each berry. Level 1 will have 5 berries on the screen to get in the basket. At the end of Level 1, there will be a win screen. I hope to get to a second level where there is a bird that moves around randomly, and if the bird intersects the player, then the bird takes the berry and the player misses that opportunity for a point. - -Priority: Develop nice user interface - -Milestones - - [ ] Put the instructions at top of screen and leave them there - along with Level and Score - - [ ] Find or draw berry, person, person with berry, basket - - [ ] Setup screen - background = green, place 5 berries in random places, create/place basket - - [ ] Set initial default score and level, Score = 0, Level 1 - - [ ] Allow person to move around screen with arrow keys. - - [ ] Create code to define an intercept between person and berry and intercept of berry and basket - -When berry intercepts basket, - - [ ] Change state of basket - like color flip for 10 times w - - [ ] Increase score by 1 point - - [ ] berry disappears or change image back to person only (from person with berry) - - [ ] Allow berry and person to move together toward basket OR change image once berry and person intersect - -Stretch goal: Level 2 of game - - [ ] reset screen with 10 berries available to pick - - [ ] create bird object that moves around screen - - [ ] if bird intercepts with person who has berry, bird takes berry diff --git a/_posts/ericabrody/2016-03-09-ericabrody-game.md b/_posts/ericabrody/2016-03-09-ericabrody-game.md index 5c652100..effa6f5d 100644 --- a/_posts/ericabrody/2016-03-09-ericabrody-game.md +++ b/_posts/ericabrody/2016-03-09-ericabrody-game.md @@ -1,7 +1,7 @@ --- layout: post author: ericabrody -title: “Erica's strawberry game" +title: "Erica's strawberry game" --- The game: diff --git a/_posts/ericabrody/2016-03-22-ericabrody-Ch7-Exercises.md b/_posts/ericabrody/2016-03-22-ericabrody-Ch7-Exercises.md index ad26198c..74f4cb3a 100644 --- a/_posts/ericabrody/2016-03-22-ericabrody-Ch7-Exercises.md +++ b/_posts/ericabrody/2016-03-22-ericabrody-Ch7-Exercises.md @@ -2,9 +2,9 @@ layout: post author: - ericabrody - - shyarmadillo8 - - jayyang95 -title: "Files Exercises-Erica,Jasmin,Jay" + - ShyArmadillo8 + - JayYang95 +title: "Files Exercises-Erica,Jasmine,Jay" --- Here is the code for exercises 1-3: diff --git a/_posts/ericabrody/2016-03-29-Erica-and-Will-Exercises.md b/_posts/ericabrody/2016-03-29-Erica-and-Will-Exercises.md new file mode 100644 index 00000000..a975012a --- /dev/null +++ b/_posts/ericabrody/2016-03-29-Erica-and-Will-Exercises.md @@ -0,0 +1,16 @@ +--- +layout: post +author: +- ericabrody +- tsukori +title: "Exercises 3_29 by Will and Erica" +--- + +Here are Exercises 1-2: + + +Here is Exercise 3: + + +Reflection: +For Exercise 3, our first attempt [left in the code, but commented out] kept generating multiople copies of the last line in the file and the biggest challenge was realizing that this indicated that the items in the selected column were in a list, but they were not and we had to intentionally put them in a list using . Visualizing the columns and rows was challenging, intuitively, we were thinking the opposite of each other so we named our variables differently. The example in the book helped a lot with Exercise 2. Testing each step as we went worked out well to help with debugging. \ No newline at end of file diff --git a/_posts/ericabrody/2016-03-29-Erica-and-Will-exercises.md b/_posts/ericabrody/2016-03-29-Erica-and-Will-exercises.md new file mode 100644 index 00000000..19b50090 --- /dev/null +++ b/_posts/ericabrody/2016-03-29-Erica-and-Will-exercises.md @@ -0,0 +1,16 @@ +--- +layout: post +author: + - ericabrody + - tsukori +title: "Exercises 3_29 by Will and Erica" +--- + +Here are Exercises 1-2: + + +Here is Exercise 3: + + +Reflection: +For Exercise 3, our first attempt [left in the code, but commented out] kept generating multiople copies of the last line in the file and the biggest challenge was realizing that this indicated that the items in the selected column were in a list, but they were not and we had to intentionally put them in a list using . Visualizing the columns and rows was challenging, intuitively, we were thinking the opposite of each other so we named our variables differently. The example in the book helped a lot with Exercise 2. Testing each step as we went worked out well to help with debugging. diff --git a/_posts/exercises/2016-03-29-postcleanup.md b/_posts/exercises/2016-03-29-postcleanup.md index 41700286..6890f732 100644 --- a/_posts/exercises/2016-03-29-postcleanup.md +++ b/_posts/exercises/2016-03-29-postcleanup.md @@ -4,7 +4,7 @@ author: elliott categories: - exercise title: "Clean up your posts from the year" -inclass: true +inclass: false --- Alright! You should have Cloud 9 and git set up. You should be on a branch called `[yourname]-branch` mathcing your github user name. **Make sure you're not on gh-pages**. If you are, revisit the `git checkout` step in the in-class exercise. @@ -86,4 +86,4 @@ Whew! Nice work. You're a command line committer. # Tips * In Cloud 9's editor you can pick a gear icon and choose to Wrap Lines -* The Cloud 9 Run button is not going to be helpful to you \ No newline at end of file +* The Cloud 9 Run button is not going to be helpful to you diff --git a/_posts/exercises/2016-03-29-regexex.md b/_posts/exercises/2016-03-29-regexex.md index b72fc183..9f4c79b3 100644 --- a/_posts/exercises/2016-03-29-regexex.md +++ b/_posts/exercises/2016-03-29-regexex.md @@ -5,6 +5,7 @@ categories: - exercise title: Regex Exercises published: true +inclass: true --- Work in Pairs for this one. Only one pull request needed per pair. Reflections *always* important. diff --git a/_posts/exercises/2016-04-05-dictex1.md b/_posts/exercises/2016-04-05-dictex1.md new file mode 100644 index 00000000..17e8b5b9 --- /dev/null +++ b/_posts/exercises/2016-04-05-dictex1.md @@ -0,0 +1,24 @@ +--- +layout: post +author: elliott +categories: + - exercise +title: Dictionary Exercises +published: true +--- + + +Complete the below in a pair programming style, with reflections, one PR per group. + +___ + + + + +**Note:** There's a line in sales.csv that has bad price data in it (a `"` and a `,`). You'll need to manually clean this when you find it. + +Tips: + +* Pay attention to variable names, especially if you copy/paste code! +* Pay attention to data types! If you need to convert a value so you can for instance do math with it, do it as early as possible. Then convert it back to a string when you need to print it. +* Look back at the chapter for inspiration! \ No newline at end of file diff --git a/_posts/exercises/2016-04-05-postcleanup2.md b/_posts/exercises/2016-04-05-postcleanup2.md new file mode 100644 index 00000000..991d1d6c --- /dev/null +++ b/_posts/exercises/2016-04-05-postcleanup2.md @@ -0,0 +1,60 @@ +--- +layout: post +author: elliott +categories: + - exercise +title: "Clean up your posts for review" +inclass: false +--- + +Go through all of your posts from the year and fix anything that needs fixing. Common errors I've seen: + +- Your checkboxes don't work. Make sure they are `- [ ]` or `- [x]` +- Your lists don't work. Make sure they have empyt lines above and below +- Your in-line code blocks don't work. Make sure your backticks match up. +- Your author or title fields in the YAML header are incorrect +- Your post(s) are not in the correct subdirectory. +- Your markdown headers, if you used them, don't render. Make sure there's a space between your `#`s and the text and +that the `#`s are at the beginning of a line. + + +# Updating your repo + +Get ready to edit: + +* `cd spring2016` if you're not already there. +* `git checkout` your existing branch if you're not already there. +* `jekyll serve --watch --host=$IP --port=$PORT` if it's not already running +* Open your running application in the URL you'll find in your Share menu. Remember to add `/spring2016/` to the end of the url +* Update your branch with the latest from `gh-pages`: `git pull silshack gh-pages`. If it tells you there's a conflict, that means git can'title: "Dictionaries are Wonderful" +* figure out which set of changes to keep. Help it out by editing +the file to be the way it's supposed to be. Git will have the version you pulled and the version you had in the file. Delete +and/or edit the lines to remove any `<<<<<<< HEAD` and `============` type stuff and make the text the way it needs to be. Afterwards +you can add and commit the conflict resolution like any other change. + +While you can look at your posts straight from our github.io site, it'll be easier to do it with your own application. + +You may have to do the above multiple times if you leave and come back to Cloud 9. Use the information in your prompt to understand +the current state of where you are + +# Edit a post + +To edit a post, open it in Cloud 9, make changes and save. Jekyll will then rebuild your site (which can take 20 seconds or so). +It will print `Regenerating: 1 file(s) changed at 2016-03-31 07:32:36`. Once it also prints out `...done in 15.993689389 seconds.`, +refresh the page to verify your changes did what you wanted. Then repeat with the next post that needs help. + +It may be useful to go thru your posts all at once in tabs, keeping the ones that need attention open for later. + +If a partner post needs help, remember that it may be in their directory. + +# Add, commit and push + +Once you're done with one or more edits, use the instructions from last time and/or the [cheatsheet]({{site.baseurl}}/how-to/gitcheatsheet.md) +to push your changes up to github. + +# Open a PR + +Open a pull request with your newly created branch. + +Take your time and find all the mistakes you can! After this exercise is turned in, I will audit your posts looking for correct +formatting. \ No newline at end of file diff --git a/_posts/exercises/2016-04-07-dictex2.md b/_posts/exercises/2016-04-07-dictex2.md new file mode 100644 index 00000000..d684001c --- /dev/null +++ b/_posts/exercises/2016-04-07-dictex2.md @@ -0,0 +1,79 @@ +--- +layout: post +author: elliott +categories: + - exercise +title: MOAR Dictionary Exercises +published: true +--- + + +Complete the below in a pair programming style, with reflections, one PR per group. + +___ + +Exercise 1: [wordlist2] + +Write a program that reads the words in words.txt and stores them as keys in a dictionary. It doesn't +matter what the values are. Then you can use the in operator as a fast way to check whether a string is in the dictionary. + + + +___ + +You can complete all of the below in this one trinket: + + + +Exercise 2: + +Write a program that categorizes each mail message by which day of the week the commit was done. +To do this look for lines that start with "From", then look for the third word and keep a running +count of each of the days of the week. At the end of the program print out the contents of your dictionary (order does not matter). + +Sample Line: + + From stephen.marquard@uct.ac.za Sat Jan 5 09:14:16 2008 + +Sample Execution: + +python dow.py +Enter a file name: mbox-short.txt +{'Fri': 20, 'Thu': 6, 'Sat': 1} + +Exercise 3: +Write a program to read through a mail log, build a histogram using +a dictionary to count how many messages have come from each email address, and print the dictionary. + +Enter file name: mbox-short.txt +{'gopal.ramasammycook@gmail.com': 1, 'louis@media.berkeley.edu': 3, +'cwen@iupui.edu': 5, 'antranig@caret.cam.ac.uk': 1, +'rjlowe@iupui.edu': 2, 'gsilver@umich.edu': 3, +'david.horwitz@uct.ac.za': 4, 'wagnermr@iupui.edu': 1, +'zqian@umich.edu': 4, 'stephen.marquard@uct.ac.za': 2, +'ray@media.berkeley.edu': 1} + +Exercise 4: + +Add code to the above program to figure out who has the most messages in the file. + +After all the data has been read and the dictionary has been created, look through +the dictionary using a maximum loop (see Section [maximumloop]) to find who has the +most messages and print how many messages the person has. + +Enter a file name: mbox-short.txt +cwen@iupui.edu 5 + +Enter a file name: mbox.txt +zqian@umich.edu 195 + +Exercise 5: + +This program records the domain name (instead of the address) where the message was +sent from instead of who the mail came from (i.e., the whole email address). At the +end of the program, print out the contents of your dictionary. + +python schoolcount.py +Enter a file name: mbox-short.txt +{'media.berkeley.edu': 4, 'uct.ac.za': 6, 'umich.edu': 7, +'gmail.com': 1, 'caret.cam.ac.uk': 1, 'iupui.edu': 8} \ No newline at end of file diff --git a/_posts/hannahlwang/2016-01-18-hannahlwang-chapter-2-exercises.md b/_posts/hannahlwang/2016-01-18-hannahlwang-chapter-2-exercises.md index 04e211a5..803e3a76 100644 --- a/_posts/hannahlwang/2016-01-18-hannahlwang-chapter-2-exercises.md +++ b/_posts/hannahlwang/2016-01-18-hannahlwang-chapter-2-exercises.md @@ -5,10 +5,12 @@ title: "Hannah's Chapter 2 Exercises" --- Most of my issues with this assignment arose from assignment and expression statements, as well as the concept of concatenation of string variables. In exercise 2, I was struggling to print both "Hello" and "(name)", without having them be two separate expression statements. Before I had the lightbulb moment about concatenation, the closest I got was: + ``` print('Hello') print(name) ``` + This returned "Hello (name)" on two separate lines. I finally remembered what the reading had said about "+" with string variables performing concatenation, rather than addition, and ended up with this! diff --git a/_posts/hannahlwang/2016-03-30-hannah-jason-regex.md b/_posts/hannahlwang/2016-03-30-hannah-jason-regex.md new file mode 100644 index 00000000..2e26d6bc --- /dev/null +++ b/_posts/hannahlwang/2016-03-30-hannah-jason-regex.md @@ -0,0 +1,15 @@ +--- +layout: post +author: +- hannahlwang +- wagerpascal +title: "Hannah and Jason's Regex Exercises" +--- + +Exercise #1 and #2 + + + +Exercise #3 + + diff --git a/_posts/how-tos/2016-03-29-gitcheatsheet.md b/_posts/how-tos/2016-03-29-gitcheatsheet.md new file mode 100644 index 00000000..af535271 --- /dev/null +++ b/_posts/how-tos/2016-03-29-gitcheatsheet.md @@ -0,0 +1,146 @@ +--- +layout: post +title: "git cheatsheet" +category: how-to +--- + +# git clone + +You can git clone a repo from github like this: + +``` +git clone https://github.com/silshack/spring2016.git +``` + +Get the url from the repo, and choose 'HTTPS' + +# git branch & git checkout + +You don't want to be working on the `gh-pages` or `master` branches. Instead, create a new branch: + +``` +git checkout -b [branchname] +``` + +This says "create a new branch (from *here*) with name [branchname]". *here* should be `gh-pages` (or master) and you'll +only need to do this once. The `-b` is what tells git to make a new branch. If the branch already exists and you +just want to go there, `git checkout [branchname]` will do that. + +To see what branches you have, use + +``` +git branch +``` + +This will list them and put a little asterix next to the one you're on. + +# git remote + +A 'remote' is the url of a git repository on the Web. You can type `git remote -v` to see +what remotes git knows about. There's probably only one, the one it cloned from. + +You can rename remotes. + +``` +git remote rename origin silshack +``` + +This renames our default-named origin branch 'silshack' for clarity. Whenever you need to specify +a remote, for pushing or pulling for instance, use your remote's name. + +# git status + +Status is one of the most important commands. Run it all the time! It will tell you what your changes are (in red), +if there are things that have been added but noe committed (in green) or if you're all committed up. + +# git add + +Adding files will make sure they're included in the next commit. You can add specific files like this: + +``` +git add path/to/mypost.md +``` + +where `path/to/mypost.md` should be replaced with the actual path to the file you want to commit. + +Adding a file actually only adds the changes you've made to it after the last commit, if any. + +You can also add ALL changes with + +``` +git add . +``` + +This means 'add all files *here*, including subdirectories.' To add all files in the repo, *here* +should mean the root of the repo. Use the unix commands `pwd` to print working directory and `cd [directory name]` +and `cd ..` to go into a directory and up out of a directory, respectively, if you're in the wrong place. + +By default `git add` doesn't track file renames or deletions. You can tell this has happened if `git status` +shows some red `deleted:` files at the bottom after you're done committing. To do that you'll need the `-A` flag: + +``` +git add -A . +``` + +## git commit + +Once you've added some changes, you're ready to commit. + +``` +git commit -m "Your commit message here" +``` + +If you forget the `-m` you'll be taken into a text editor to exit your commit message. Don't panic! Edit and +save it if you can, or press `Ctrl-c` to exit the program if not. Then `git status` to see where you are in the +process and pick up where you left off. + +# git log + +To see a list of commits, use + +``` +git log +``` + +This will bring up a list of commits with the Unix program `less`. If you haven't used `less`, here're the basics: +you can press space to page down, scroll with the arrow keys, and press `q` to quit. + +In the list, you'll see a bunch of commit messages, commit ids. Aren't you glad you've +been making helpful commit messages? + +# git push + +Git push sends the commits from a branch you're on to a branch in a remote. It's easiest to push from the branch +you're on to an identically titled branch on the remote. Since you're *never* committing directly to `gh-pages`, when +you do this you'll use your custom-named branch. Also the below assumes your remote is titled 'silshack'. + +``` +git push silshack [branchname] +``` + +If you've made commits to the branch by other means (github.com maybe), you may get an error telling you you need to pull first. +If so, `git pull silshack [branchname]`. + +# git pull + +Sometimes you need to get commits from the remote, such as your classmates' posts or updated assignments. + +``` +git pull silshack gh-pages +``` + +You can replace `gh-pages` with another branch if you want something specific but since all the PRs get +merged into gh-pages, this pull will get your current branch updated. + +# git reset + +Sometimes you need to un-commit things. To do this, you'll need to use `git log` to get the commit id (that nasty long number) of the +*last good commit*, and then reset back to that commit. Tip: you only need the first few numbers of the commit id. This keep all the previously committed changes - +you'll just need to add and recommit them. + +``` +git reset [commit id] +``` + +Warning: if you un-commit others' commits you will likely create conflicts that need to be resolved. + diff --git a/_posts/ianmoore/2016-01-25-treasure-hunt-post.md b/_posts/ianmoore/2016-01-25-treasure-hunt-post.md index 3ec38796..b75eb712 100644 --- a/_posts/ianmoore/2016-01-25-treasure-hunt-post.md +++ b/_posts/ianmoore/2016-01-25-treasure-hunt-post.md @@ -8,5 +8,5 @@ This is my treasure hunt: -The most difficult part of this was making sure that every possible combination of entries would produce some sort of result for the player. This has definitely been the most complicated program for me thus far, in no small part because guaranteeing that all my equations were correct. That single task occupied more time than any other component of the work. I am not a math person, and parsing the logic of the combinations of ```>`` and ```<``` that I produced was relatively difficult for me. +The most difficult part of this was making sure that every possible combination of entries would produce some sort of result for the player. This has definitely been the most complicated program for me thus far, in no small part because guaranteeing that all my equations were correct. That single task occupied more time than any other component of the work. I am not a math person, and parsing the logic of the combinations of ```>``` and ```<``` that I produced was relatively difficult for me. It is also worth noting that my code is insane. It does not need to be as complicated as it is. Defining additional variables and creating some sort of equation for distance would have made this vastly simpler and easier to parse. It was all fun, though! My problems were very solvable, ultimately, which was great! diff --git a/_posts/ianmoore/2016-02-01-ian-peer-review-self-reflection.md b/_posts/ianmoore/2016-02-01-ian-peer-review-self-reflection.md index 6ae3d270..3fe26c4f 100644 --- a/_posts/ianmoore/2016-02-01-ian-peer-review-self-reflection.md +++ b/_posts/ianmoore/2016-02-01-ian-peer-review-self-reflection.md @@ -5,7 +5,7 @@ title: "Ian's Peer Review and Self-Reflection" --- Yiyang's app was a lot of fun to play around with. I tried to make every face I could with it. The app does have an entirely graphical interface. It lets the user select different eyebrows, eyes, and mouths based on click input. It also permits the user to select colors for the eyeglasses with key input. There is only one mode, though it does allow the user select all the different features. It is not possible to clear, but the user can select a new set of features for the face at any time. -Yiyang's code uses a number of custom modules in order to increase readability. There is only one turtle object, which did make it tricky for me to tell what was doing what at times. A named ```screen`` object is defined at the beginning of the ```main`` module. A ```for``` loop is utilized in the ```feature_table``` module. I tried hard to make the program return an error, but I couldn't. The program runs perfectly. I do think the could would have been clearer had more ```for``` loops been used. The facial feature functions are drawn line by line, making the functions larger and more unwieldy than they might need to be. Yiyang's code is well commented, which does make it easy to determine what a function does and how it relates to the functions that call upon it. The comments offset the difficulties I had as a result of the lack of ```for``` loops and the use of one turtle. +Yiyang's code uses a number of custom modules in order to increase readability. There is only one turtle object, which did make it tricky for me to tell what was doing what at times. A named ```screen``` object is defined at the beginning of the ```main``` module. A ```for``` loop is utilized in the ```feature_table``` module. I tried hard to make the program return an error, but I couldn't. The program runs perfectly. I do think the could would have been clearer had more ```for``` loops been used. The facial feature functions are drawn line by line, making the functions larger and more unwieldy than they might need to be. Yiyang's code is well commented, which does make it easy to determine what a function does and how it relates to the functions that call upon it. The comments offset the difficulties I had as a result of the lack of ```for``` loops and the use of one turtle. I think Yiyang set very clear milestones for herself. These milestones were very achieveable. She set a number of activities for the user to accomplish, as well as limits she wanted to place on what she wanted the user to be able to do within the scope of those activities. Based on our discussion on Tuesday, it sounds like she was able to accomplish all these goals/milestones without having to rein in her scope. Her reflection suggests that she approached challenges in a very productive way, making changes that made the program better now while also keeping in mind alterations that might need to be made in the future. I don't know that all of the requirements of the assignment were satisfied, but Yiyang created a very stable program and satisfied the goals she set for herself at the outset of the project. diff --git a/_posts/ianmoore/2016-02-18-ian-starter-and-milestones.md b/_posts/ianmoore/2016-02-18-ian-starter-and-milestones.md index 8ff482ca..47e3a66d 100644 --- a/_posts/ianmoore/2016-02-18-ian-starter-and-milestones.md +++ b/_posts/ianmoore/2016-02-18-ian-starter-and-milestones.md @@ -3,13 +3,14 @@ layout: post author: touchwick title: "Ian's Milestones and Starter Code" --- -[x] Build starter code -[] Working interface - Buttons respond to clicks, mode buttons clear when one mode is selected. -[] Mode 1 - First mode will draw -[] Mode 2 - Second mode will draw -[] Mode 3 - Third mode will draw -[] Clear and reset - Clear button functions correctly, program resets to initial state, ready for user to reinitiate -[] Debugging - Check to make sure that everything actually works. +### These are my milestones: +- [x] Build starter code +- [x] Working interface - Buttons respond to clicks, mode buttons clear when one mode is selected. +- [x] Mode 1 - First mode will draw +- [x] Mode 2 - Second mode will draw +- [x] Mode 3 - Third mode will draw +- [x] Clear and reset - Clear button functions correctly, program resets to initial state, ready for user to reinitiate +- [x] Debugging - Check to make sure that everything actually works. Ultimately, I'd like users to be able to draw in three different ways, with the ability to quit and pick a new mode at any time. diff --git a/_posts/ianmoore/2016-02-25-ian-final-drawing-app.md b/_posts/ianmoore/2016-02-25-ian-final-drawing-app.md index cff74ef8..3a096ef4 100644 --- a/_posts/ianmoore/2016-02-25-ian-final-drawing-app.md +++ b/_posts/ianmoore/2016-02-25-ian-final-drawing-app.md @@ -7,20 +7,14 @@ This is my drawing app: -These are my milestones: --[x] Build starter code - --[x] Working interface - Buttons respond to clicks, mode buttons clear when one mode is selected. - --[x] Mode 1 - First mode will draw - --[x] Mode 2 - Second mode will draw - --[x] Mode 3 - Third mode will draw - --[x] Clear and reset - Clear button functions correctly, program resets to initial state, ready for user to reinitiate - --[x] Debugging - Check to make sure that everything actually works. +### These are my milestones: +- [x] Build starter code +- [x] Working interface - Buttons respond to clicks, mode buttons clear when one mode is selected. +- [x] Mode 1 - First mode will draw +- [x] Mode 2 - Second mode will draw +- [x] Mode 3 - Third mode will draw +- [x] Clear and reset - Clear button functions correctly, program resets to initial state, ready for user to reinitiate +- [x] Debugging - Check to make sure that everything actually works. I believe that I met them all. My buttons respond to clicks, the mode buttons disappear and are replaced by the "Clear" and "Switch Mode" buttons, and the current mode is displayed at the top of the screen. Each mode draws as I wanted it to. The "Clear" and "Switch Mode" buttons function correctly. "Clear" resets the program to its initial state, while "Switch Mode" leaves the user's drawing as-is and allows the user to select another mode in order to continue drawing. As far as I have been able to determine, there are no show-stopping bugs in the program. Ultimately, I think I expanded my scope. I had initially intended for the color selection to take place only within the Line mode. When I realized I had more time than anticipated, I added it to the other modes and implemented pen size selection as well. (I'll admit that size 50 is a little impractical, but I think it's fun.) diff --git a/_posts/ianmoore/2016-03-03-ian-game-milestones.md b/_posts/ianmoore/2016-03-03-ian-game-milestones.md index ffc91d80..891fe8f8 100644 --- a/_posts/ianmoore/2016-03-03-ian-game-milestones.md +++ b/_posts/ianmoore/2016-03-03-ian-game-milestones.md @@ -3,18 +3,12 @@ layout: post author: touchwick title: "Ian's Game Milestones" --- -The following are my game milestones: - -- [ ] The screen will transition based from scene to scene based on user key input. - -- [ ] The game will have a coherent story. - -- [ ] The game will allow the user to meet a win condition. - -- [ ] The win condition will have an animated win screen. - -Optional goals include: - -- [ ] The animated win screen will include a a castle drawn by a turtle. - +### The following are my game milestones - +- [x] The screen will transition based from scene to scene based on user key input. +- [x] The game will have a coherent story. +- [x] The game will allow the user to meet a win condition. +- [x] The win condition will have an animated win screen. + +### Optional goals include - +- [x] The animated win screen will include a a castle drawn by a turtle. - [ ] A turtle drawing will accompany portions of the story. diff --git a/_posts/ianmoore/2016-03-29-ian-and-james-in-class.md b/_posts/ianmoore/2016-03-29-ian-and-james-in-class.md new file mode 100644 index 00000000..bbc1be1d --- /dev/null +++ b/_posts/ianmoore/2016-03-29-ian-and-james-in-class.md @@ -0,0 +1,22 @@ +--- +layout: post +author: + - touchwick + - jamesma560 +title: "James and Ian's Regex Exercises" +--- +This is exercise 3, which we completed together: + + + +Our most significant issue here was formatting the regex correctly. After working with Python for the last couple of months, working with regex feels foreign in a way I don't think we'd anticipated. This leads us to Exercise 2, which Ian completed: + + + +It did not take that long to complete the code. Bits and pieces of it worked quite well right from the get-go. The issue was, again, formatting the regex. For whatever reason, when the numbers were appended to the list from which the mean would be determined, the brackets were appended as part of the item. Stripping those out was an immense pain, but it does work now. This is absolutely a case in which there is very likely a simpler way for us to do this, but! It works now! Which is fantastic! + +This is Exercise 1, which James completed: + + + +This does work, in that it finds the phrase the user enters inside the line indicated. It does, however, interpret any portion of a regex phrase as part of the string to be found. We can't figure out why it does this, especially given that Exercise 3 does interpret the commands correctly. Ultimately, though, we think this is a minor bug, considering that the code does us a regex method to find the given string. diff --git a/_posts/izayak/2016-01-21-Ruotong-Ch3-Conditional-Exercise.md b/_posts/izayak/2016-01-21-Ruotong-Ch3-Conditional-Exercise.md index a4ec6b51..bb2d3893 100644 --- a/_posts/izayak/2016-01-21-Ruotong-Ch3-Conditional-Exercise.md +++ b/_posts/izayak/2016-01-21-Ruotong-Ch3-Conditional-Exercise.md @@ -10,12 +10,18 @@ Here is the embeded link from Trinket: My thoughts: 1. I tried to print 'No input' if there is no input to variables 'hour', 'rate' etc. I searched online and find this on Stack Overflow: + http://stackoverflow.com/questions/18542107/python-test-if-raw-input-has-no-entry + Then I used the boolean operator 'not' to achieve that. I also checked that 'not' has a higher precedence than 'or' through the document (part 5.15): + https://docs.python.org/2/reference/expressions.html + Or the following link neatly provide only the table: -http://www.mathcs.emory.edu/~valerie/courses/fall10/155/resources/op_precedence.html + +http://www.mathcs.emory.edu/~valerie/courses/fall10/155/resources/op_precedence.html + My questions: 1. For exercise 3, for score less than 0 or greater than 10, I print 'Bad score' in the try part. Should that be put in except part? <\n> @@ -23,5 +29,7 @@ I also add a comment in the Trinket file to indicate that question's position. Update: This problem is solved when I do the Chapter4 Exercise. + https://github.com/silshack/spring2016/blob/gh-pages/_posts/izayak/2016-01-28-Ruotong-Ch4-Function-Exercise.md + diff --git a/_posts/izayak/2016-01-25-Ruotong-Treasure-Hunt-Turtle.md b/_posts/izayak/2016-01-25-Ruotong-Treasure-Hunt-Turtle.md index 5db4738e..fec0da41 100644 --- a/_posts/izayak/2016-01-25-Ruotong-Treasure-Hunt-Turtle.md +++ b/_posts/izayak/2016-01-25-Ruotong-Treasure-Hunt-Turtle.md @@ -18,7 +18,7 @@ There is one way like this: print "If there was a birth every 7 seconds, there w 3. Round function [solved] https://docs.python.org/2/library/functions.html#round -***After the inclass discussion: +*After the inclass discussion:* 1. I should've included message if the input is bad. 2. Give the player the information about the direction would be helpful. e.g. East,North,South,West. 3. .towards() and .distance() and .color(). Make the turtle towards the treasure and change its color reder if get closer. diff --git a/_posts/izayak/2016-01-28-Ruotong-Function-Turtle.md b/_posts/izayak/2016-01-28-Ruotong-Function-Turtle.md index 3c96ddb7..2400fefc 100644 --- a/_posts/izayak/2016-01-28-Ruotong-Function-Turtle.md +++ b/_posts/izayak/2016-01-28-Ruotong-Function-Turtle.md @@ -8,12 +8,12 @@ layout: post Through this exercise, I improved my understanding of while loop a lot. I use three while loops in this program, in order to deal with 1) bad input of coordinates; -2) bad input of shape; -3) when to stop the drawing. -I also practiced random and math modules and they are very useful. -For the two functions 'draw' and 'goto', 'draw' has a return value and both of them take arguments. +2) bad input of shape; +3) when to stop the drawing. +I also practiced random and math modules and they are very useful. +For the two functions 'draw' and 'goto', 'draw' has a return value and both of them take arguments. I wrote a new program as my previous ones are not convenient to improve as the way it makes a circle and the fact that it has to figure out where to draw the eyes. - + diff --git a/_posts/izayak/2016-01-31-Ruotong-Clicky-Turtle.md b/_posts/izayak/2016-01-31-Ruotong-Clicky-Turtle.md index 30c877bb..56681ac1 100644 --- a/_posts/izayak/2016-01-31-Ruotong-Clicky-Turtle.md +++ b/_posts/izayak/2016-01-31-Ruotong-Clicky-Turtle.md @@ -6,9 +6,7 @@ layout: post -In my program I created another turtle named Jerry to play around with Tina. You'll see Tina chasing Jerry for some reason :p +In my program I created another turtle named Jerry to play around with Tina. You'll see Tina chasing Jerry for some reason :p As there is a chasing feature, the import time and time.sleep() can be very useful because if tina does not get to Jerry he will fleet away. -I've used a function to generate random number to be used as Jerry's location's coordinates. At first I tried to make the whole jerry.goto() -into a helper function but did not succeed. -For ending the game, either Jerry is caught or Jerry fleet away. I think it would be better to add another one: for too long that Tina -has not caught Jerry with further knowledge. +I've used a function to generate random number to be used as Jerry's location's coordinates. At first I tried to make the whole jerry.goto() into a helper function but did not succeed. +For ending the game, either Jerry is caught or Jerry fleet away. I think it would be better to add another one: for too long that Tina has not caught Jerry with further knowledge. diff --git a/_posts/izayak/2016-02-03-ch5-exercise.md b/_posts/izayak/2016-02-03-ch5-exercise.md index 5bed1d83..10e5dbbc 100644 --- a/_posts/izayak/2016-02-03-ch5-exercise.md +++ b/_posts/izayak/2016-02-03-ch5-exercise.md @@ -7,6 +7,4 @@ layout: post Thoughts -I just use the same 'count', 'total' and 'num' variable names in the two exercises. So if in the first one the user hits enter button -before inputing 'done', the nan of result of average will pass to the the next one. But if the user inputs done directly without hitting -the enter button, that would be fine. +I just use the same 'count', 'total' and 'num' variable names in the two exercises. So if in the first one the user hits enter button before inputing 'done', the nan of result of average will pass to the the next one. But if the user inputs done directly without hitting the enter button, that would be fine. diff --git a/_posts/izayak/2016-02-08-ch8-exercise.md b/_posts/izayak/2016-02-08-ch8-exercise.md index ca981bb1..1a83c886 100644 --- a/_posts/izayak/2016-02-08-ch8-exercise.md +++ b/_posts/izayak/2016-02-08-ch8-exercise.md @@ -6,8 +6,7 @@ layout: post -*Thoughts* +*Thoughts* The Debugging section in the textbook is really useful. We should be careful with the differences between strings and lists. -Cannot find the file 'mbox-short.txt'. Also did exercise 4-6, and have one question about question 6 (comment in Trinket to show). I found in the comment of my ch5's exercise's pull request that it should be covered in class, but I cannot remember it. diff --git a/_posts/izayak/2016-02-09-in-class.md b/_posts/izayak/2016-02-09-in-class.md index 7ffef399..f7089f7c 100644 --- a/_posts/izayak/2016-02-09-in-class.md +++ b/_posts/izayak/2016-02-09-in-class.md @@ -9,10 +9,12 @@ layout: post **Exercise 4** -- [x] Used nested loop -- [x] The use of 'item' -- [x] Lower case: fixed where to put the lowercase transformation -- [ ] Tried to put all the lines together then do the split. Haven't figured out yet. + +- [x] Used nested loop +- [x] The use of 'item' +- [x] Lower case: fixed where to put the lowercase transformation +- [ ] Tried to put all the lines together then do the split. Haven't figured out yet. + diff --git a/_posts/izayak/2016-02-10-poetry-turtle-ruotong.md b/_posts/izayak/2016-02-10-poetry-turtle-ruotong.md index 028daeb2..9fb1677f 100644 --- a/_posts/izayak/2016-02-10-poetry-turtle-ruotong.md +++ b/_posts/izayak/2016-02-10-poetry-turtle-ruotong.md @@ -4,13 +4,16 @@ title: "Ruotong's Poetry Slam Tina" layout: post --- - -**Reflection** -This poetry turtle practice is interesting and can help practice with what've learned about conditionals, loops, lists, strings and turtle. + + +**Reflection** +This poetry turtle practice is interesting and can help practice with what've learned about conditionals, loops, lists, strings and turtle. I have used: + * conditionals to make tina has different color when writing different tone of poetry * loops to deal with inputs * lists to save the poetry input * strings to deal with lowercase * turtle things to write poetry clearly * "line" in Python + diff --git a/_posts/izayak/2016-02-15-tetris-turtle-ry.md b/_posts/izayak/2016-02-15-tetris-turtle-ry.md index f5f8e7ab..6d725de7 100644 --- a/_posts/izayak/2016-02-15-tetris-turtle-ry.md +++ b/_posts/izayak/2016-02-15-tetris-turtle-ry.md @@ -1,18 +1,22 @@ --- author: izayak title: "Ruotong's Tetris Turtles Refactor" -layour: post +layout: post --- -*Reflection* -- Added some functions to make the program more concise -- Put all the functions, dictionaries, turtle setups together -- Added comments to make the program more readable -- Also tried to make some repetitive part in those drawing functions into functions, but that would make the program unreadable +*Reflection* + +- Added some functions to make the program more concise +- Put all the functions, dictionaries, turtle setups together +- Added comments to make the program more readable +- Also tried to make some repetitive part in those drawing functions into functions, but that would make the program unreadable + *Problems* + - Read the documentation of Python about tracer, do not get what "A replica of the corresponding TurtleScreen method" means. - + + diff --git a/_posts/izayak/2016-02-17-drawing-app-milstone-ry.md b/_posts/izayak/2016-02-17-drawing-app-milstone-ry.md index 0fdf2418..553bf033 100644 --- a/_posts/izayak/2016-02-17-drawing-app-milstone-ry.md +++ b/_posts/izayak/2016-02-17-drawing-app-milstone-ry.md @@ -6,10 +6,12 @@ layout: post + **Milestones** -- [x] Set up a basic sturcture (Trinket code) -- [ ] Users can draw a shape with their choices -- [ ] Users can control the screen with keys -- [ ] Accepts users' clicks +- [x] Set up a basic sturcture (Trinket code) +- [ ] Users can draw a shape with their choices +- [ ] Users can control the screen with keys +- [ ] Accepts users' clicks + diff --git a/_posts/izayak/2016-02-22-drawing-app-snapshot-ry.md b/_posts/izayak/2016-02-22-drawing-app-snapshot-ry.md index ee2a5e78..d599e27e 100644 --- a/_posts/izayak/2016-02-22-drawing-app-snapshot-ry.md +++ b/_posts/izayak/2016-02-22-drawing-app-snapshot-ry.md @@ -26,12 +26,14 @@ layout: post - [ ] Run without errors - [x] Be well-commented - [ ] Be well-organized and readable -- + Finished small parts, and the whole structure (e.g. loops) will be built later. **Questions** -1. - -If we put a function into the screen.onkey() function, the function cannot take arguments as it is not been called. So in this case the go_left() functions etc. can only be placed in main.py? [solved] -2. In order to enter clicks mode, have to press '2' key 2 times... [just click 2 times...] + +1. +If we put a function into the screen.onkey() function, the function cannot take arguments as it is not been called. So in this case the go_left() functions etc. can only be placed in main.py? [solved] +2. In order to enter clicks mode, have to press '2' key 2 times... [just click 2 times...] + + diff --git a/_posts/izayak/2016-02-23-Drawing-App-ry.md b/_posts/izayak/2016-02-23-Drawing-App-ry.md index eff4b58b..c047a249 100644 --- a/_posts/izayak/2016-02-23-Drawing-App-ry.md +++ b/_posts/izayak/2016-02-23-Drawing-App-ry.md @@ -30,12 +30,16 @@ layout: post **Reflection** + 1. Have to make sure what can be put in a main.py and what can be put in a helper.py. Some functions that are commonly used can be put directly in another py, such as I put all the small must-have functions in shortcut.py. Some functions can be put in helper.py with the use of custom modules and functions, such as I put all the direction change and shape drawing functions in custom_class.py. The rest of them can only be put in the main.py, such as functions using two turtles e.g. fill() and back(), functions using both turtle and screen e.g. on_screen_click() and on_drag_function(), onkey and onclick funcitons e.g. screen.onclick() and someturtle.onclick(). 2. Refactor to make the program readable and clear to the user and other programmers. I put all the main functions in the main.py, all the functions for setting up the screen (instructions and display) in screen.py, all the custom modules in custom_class.py and all the small helper functions in shortcut.py. Putting all the left/right/forward/backward and drawing functions in the main.py can be very messy, and it can be solved by creating a custom module. That is way better. Now the program is much more concise than before. + **Future Improvements** + 1. In clicks mode, I also achieve 'clear up and start again' feature by linking the clear() function with the 'z' key. If it is strict that in clicks mode no keys should be used, I have to improve that. 2. I used another turtle jack for working in the function back(). I also want to switch its pencolor and fillcolor, but the toggle.color() does not work. Maybe it is because two onclik of two turtles cannot be used together? 3. I haven't included a definite loop. I think that would be a good improvement, maybe can be used in cooperate with counting the number of keys pressed/clicks by the user. 4. As I can create turtle custom modules, I can also create screen custom modules. I've tried also put screen.onkey() functions into the custom module, but in the screen.onkey() there are still turtle nested, which need to be solved first in order to move those screen.onkey() functions into custom module. + diff --git a/_posts/izayak/2016-03-02-game-milstone-ry.md b/_posts/izayak/2016-03-02-game-milstone-ry.md index a5c0051a..91d501b8 100644 --- a/_posts/izayak/2016-03-02-game-milstone-ry.md +++ b/_posts/izayak/2016-03-02-game-milstone-ry.md @@ -7,18 +7,20 @@ layout: post **Milestones** *Base* -- [ ] Come up with an idea of the 'game' -- [ ] Set up the interface -- [ ] Display information to the user using custom turtle objects -- [ ] Users can control by keys -- [ ] Users can control by clicks -- [ ] Have a 'win' screen or something displayed during the game -- [ ] The use of global variable in order to tracking the game -- [ ] Use custom modules and functions -- [ ] Use objects that are instantions of one or more custom extensions of Python’s Turtle class -- +- [ ] Come up with an idea of the 'game' +- [ ] Set up the interface +- [ ] Display information to the user using custom turtle objects +- [ ] Users can control by keys +- [ ] Users can control by clicks +- [ ] Have a 'win' screen or something displayed during the game +- [ ] The use of global variable in order to tracking the game +- [ ] Use custom modules and functions +- [ ] Use objects that are instantions of one or more custom extensions of Python’s Turtle class + + *Optional* -- [ ] The user can play again or start over without using the Run button -- [ ] Have a nicer interface than the one of Drawing App -- +- [ ] The user can play again or start over without using the Run button +- [ ] Have a nicer interface than the one of Drawing App + + diff --git a/_posts/izayak/2016-03-09-game-ry.md b/_posts/izayak/2016-03-09-game-ry.md index a9a4a77b..5731cf94 100644 --- a/_posts/izayak/2016-03-09-game-ry.md +++ b/_posts/izayak/2016-03-09-game-ry.md @@ -40,6 +40,7 @@ Apparently the two games are similar. Now I have another idea that let the user - [x] Use custom modules and functions - [x] Use objects that are instantions of one or more custom extensions of Python’s Turtle class + *Optional* - [ ] The user can play again or start over without using the Run button diff --git a/_posts/nataliele/2016-02-22-nataliele-drawingappsnap.md b/_posts/nataliele/2016-02-22-nataliele-drawingappsnap.md index c0af71ff..bdeffc19 100644 --- a/_posts/nataliele/2016-02-22-nataliele-drawingappsnap.md +++ b/_posts/nataliele/2016-02-22-nataliele-drawingappsnap.md @@ -7,13 +7,13 @@ title: "Natalie's drawing app snapshot" Updated milestones: - [x] set up screen - - [X] user is able to click on screen and choose mode + - [x] user is able to click on screen and choose mode - Mondrian mode - - [X] user is able to draw squares with thick edges - - [X] user is able to draw rectangles (standing up and lying down) with thick edges - - [X] user is able to change shapes - - [X] user is able to change color of the pen - - [X] user is able to change size of the pen + - [x] user is able to draw squares with thick edges + - [x] user is able to draw rectangles (standing up and lying down) with thick edges + - [x] user is able to change shapes + - [x] user is able to change color of the pen + - [x] user is able to change size of the pen - Pollock mode - [ ] create blobs of different styles - [ ] user is able to change blob style of the pen diff --git a/_posts/nataliele/2016-02-24-nataliele-drawingapp.md b/_posts/nataliele/2016-02-24-nataliele-drawingapp.md index 7b0d50a5..e5c7b971 100644 --- a/_posts/nataliele/2016-02-24-nataliele-drawingapp.md +++ b/_posts/nataliele/2016-02-24-nataliele-drawingapp.md @@ -5,28 +5,27 @@ title: "Natalie's drawing app" --- Revised milestones: - - [X] set up screen - - [X] user is able to click on screen and choose mode - - [X] Display the current mode and other relevant information to the user - - [ ] Instructions outside of the drawing template + - [x] set up screen + - [x] user is able to click on screen and choose mode + - [x] Display the current mode and other relevant information to the user + - [ ] Instructions outside of the drawing template - Mondrian mode - - [X] user is able to draw squares with thick edges - - [X] user is able to draw rectangles (standing up and lying down) with thick edges - - [X] user is able to change shapes - - [X] user is able to change color of the pen - - [X] user is able to change size of the pen - - [X] user is able to reset the drawing template - - [X] user is able to exit to the main screen + - [x] user is able to draw squares with thick edges + - [x] user is able to draw rectangles (standing up and lying down) with thick edges + - [x] user is able to change shapes + - [x] user is able to change color of the pen + - [x] user is able to change size of the pen + - [x] user is able to reset the drawing template + - [x] user is able to exit to the main screen - [ ] all colors, shape, size default back when reset - - Pollock mode - - [X] user is able to change shape of image - - [X] user is able to change direction of the pen - - [X] user is able to change background color - - [X] user is able to change size of the pen - - [X] user is able to reset the drawing template - - [X] user is able to exit to the main screen + - [x] user is able to change shape of image + - [x] user is able to change direction of the pen + - [x] user is able to change background color + - [x] user is able to change size of the pen + - [x] user is able to reset the drawing template + - [x] user is able to exit to the main screen - [ ] all colors, shape, size default back when reset diff --git a/_posts/nataliele/2016-02-25-nataliele-peerreview.md b/_posts/nataliele/2016-02-25-nataliele-peerreview.md index 37e98f1c..77f39293 100644 --- a/_posts/nataliele/2016-02-25-nataliele-peerreview.md +++ b/_posts/nataliele/2016-02-25-nataliele-peerreview.md @@ -6,22 +6,22 @@ title: "Natalie's peer review of Kit's drawing app" - - [X] Have an entirely graphical user interface: I like the use of an additional screen for instruction before the drawing start and how it waits for the user to finish reading and press "s" to start. I also like the counting down screen. Very nice use of `for` loop! - - [X] Allow the user to select a drawing mode that changes the program’s repsonse to clicks and/or keys: click to draw and press keys to change colors in Wonderland mode. - - [X] Display the current mode and other relevant information to the user: the app displays modes and the keys to press to change colors, reset and quit to main screen - - [X] Allow the user to choose and draw shapes, lines, and colors depending upon the selected mode - - [X] Allow the user to clear the drawing and start over - + - [x] Have an entirely graphical user interface: I like the use of an additional screen for instruction before the drawing start and how it waits for the user to finish reading and press "s" to start. I also like the counting down screen. Very nice use of `for` loop! + - [x] Allow the user to select a drawing mode that changes the program’s repsonse to clicks and/or keys: click to draw and press keys to change colors in Wonderland mode. + - [x] Display the current mode and other relevant information to the user: the app displays modes and the keys to press to change colors, reset and quit to main screen + - [x] Allow the user to choose and draw shapes, lines, and colors depending upon the selected mode + - [x] Allow the user to clear the drawing and start over - [ ] Utilize custom modules for readability and organization: As Kit mentioned, he tried separating the codes into smaller modules but that messes up the app somehow. - - [X] Utilize custom functions for modularity - - [X] Utilize definite loops (i.e. for loops) - - [X] Utilize multiple Turtle objects - - [X] Utilize a named Screen object + - [x] Utilize custom functions for modularity + - [x] Utilize definite loops (i.e. for loops) + - [x] Utilize multiple Turtle objects + - [x] Utilize a named Screen object - [ ] Run without errors: So when I press c or w out of order or in the main screen or in a different screen than im supposed to, the screen is kinda messed up. ![croquet](http://nataliele.web.unc.edu/files/2016/02/croquet.png) I think these codes below might have caused the problem. Because it's an `if` statement, pressing these keys anytime in any mode will call those functions and cause errors. I think they should be moved outside the function and should still work. + ```python def switch(): if pitch.onkey(conventional,"c"): @@ -33,8 +33,9 @@ def switch(): elif pitch.onkey(select,"q"): select() ``` - - [X] Be well-commented - - [X] Be well-organized and readable + + - [x] Be well-commented + - [x] Be well-organized and readable Kit had a very clear idea what he wanted the app to do right from the beginning and the final product wasnt too different from what he originally envisioned (save for the surprised ending and winning sequence). The final codes are much easier to read with better use of functions. The milestones also did not change much though they could have been more detailed. diff --git a/_posts/nataliele/nataliele-03-30-2016-regex.md b/_posts/nataliele/nataliele-03-30-2016-regex.md new file mode 100644 index 00000000..c267f486 --- /dev/null +++ b/_posts/nataliele/nataliele-03-30-2016-regex.md @@ -0,0 +1,19 @@ +--- +layout: post +author: +- nataliele +- EternalFootman +title: "Natalie and Kit's regex exercises" + +Exercise 1: +Kit: This exercise was a good combination of old and new skills. The counting loop was familiar; it just needed to be combined with the re.search command from Chapter 11. + + +Exercise 2: +Natalie: Wow I dont know why the second part of this semester tripped me up so much. I feel like I dont have a good foundation on how the syntax works and what class types it returns. Like there're 2 ways to read files, the one from the text and the one you showed in class. But they seem to import files into different types: string versus list or sth. And then when we read the lines, they all turn into list? But on some examples they remain as strings? So for this exercise, I'm just really confused with all the types. The numbers I was able to extract remain as list no matter what I tried to convert them. Failed. + + +Exercise 3: +Remembering to convert strings to integers still takes a few attempts. We drew the general idea for this from last week’s exercises; we had some trouble before figuring out how to search specific items instead of whole lists, but it went quickly after we added the cells variable. + + diff --git a/_posts/payalpatel/2016-03-18-PayalsCh7Exercises.md b/_posts/payalpatel/2016-03-18-PayalsCh7Exercises.md new file mode 100644 index 00000000..99d61d95 --- /dev/null +++ b/_posts/payalpatel/2016-03-18-PayalsCh7Exercises.md @@ -0,0 +1,29 @@ +--- +layout: post +author: payalpn +title: "Payal's Chapter 7 Exercises" +--- + + **Exercise 1:** + + + + + **Exercise 2:** + + + + + **Exercise 3:** + + + +**Exercise 4:** + +https://trinket.io/python3/2045a76b41 + + + **Reflection:** + + While working on these exercises I noticed I used several concepts we learned earlier in the semester. Concepts such as try/except, if/else statements, and using input from the user. Personally, I found that these exercises helped serve as a refresher for material we have learned thus far in this course while introducing new concepts related to files. There wasn’t anything I found particularly frustrating. I didn’t get my programs to work the way I intended for them to on the first try; however, after a few alterations I managed them to get them working as I had in mind. + diff --git a/_posts/payalpatel/2016-03-30-PayalYiyangRegexExercises.md b/_posts/payalpatel/2016-03-30-PayalYiyangRegexExercises.md new file mode 100644 index 00000000..94336c78 --- /dev/null +++ b/_posts/payalpatel/2016-03-30-PayalYiyangRegexExercises.md @@ -0,0 +1,20 @@ +--- +layout: post +author: +- payalpn +- yiyangshi +title: "Payal and Yiyang's Regex Exercises" +--- + +Exercise 1: + + +Exercise 2: + + +Exercise 3: + + +Reflection: + +Through this pair programming assignment we were able to work together to get the programs completed. If one of us got stuck on something the other one was able to help which allowed for us to complete the program more quickly rather than working separately. This pair programming experience was also helpful in that it allowed us to discuss this new topic which helped us become more familiar with some of the different concepts related to Regex exercises. diff --git a/_posts/readings/2016-04-05-ch9.md b/_posts/readings/2016-04-05-ch9.md new file mode 100644 index 00000000..e82c89bd --- /dev/null +++ b/_posts/readings/2016-04-05-ch9.md @@ -0,0 +1,7 @@ +--- +author: elliott +layout: post +title: "Review Dr. Chuck Chapter 6" +categories: reading +link: http://ils.unc.edu/~eah13/textbook/09-dictionaries.html +--- \ No newline at end of file diff --git a/_posts/tommytester/2016-01-15-example-post.md b/_posts/tommytester/2016-01-15-example-post.md index 640151e9..becc04f4 100644 --- a/_posts/tommytester/2016-01-15-example-post.md +++ b/_posts/tommytester/2016-01-15-example-post.md @@ -8,3 +8,5 @@ I'm writing my post. Now I've added new stuff! + +I don't want to commit this yet \ No newline at end of file diff --git a/_posts/tommytester/2016-01-20-tommy-badpost.md b/_posts/tommytester/2016-01-20-tommy-badpost.md index e8af1298..e9ab68f6 100644 --- a/_posts/tommytester/2016-01-20-tommy-badpost.md +++ b/_posts/tommytester/2016-01-20-tommy-badpost.md @@ -8,3 +8,5 @@ This is a bad post that I am sumbitting only to be helpful. I know none of my c a post this bad! This another commit to get comfortable. + +another change \ No newline at end of file diff --git a/_posts/tommytester/2016-02-02-tommy-clicky.md b/_posts/tommytester/2016-02-02-tommy-clicky.md index 943a0e78..a76c9d72 100644 --- a/_posts/tommytester/2016-02-02-tommy-clicky.md +++ b/_posts/tommytester/2016-02-02-tommy-clicky.md @@ -32,3 +32,6 @@ Traditional: Using animation artifacts for artistic effect: ![]([Imgur](http://i.imgur.com/I2lR24l.png)) + + +Made a change! \ No newline at end of file diff --git a/_posts/tsukori/2016-02-17-drawingmilestones.md b/_posts/tsukori/2016-02-17-drawingmilestones.md index ab99ac9a..bae80ce8 100644 --- a/_posts/tsukori/2016-02-17-drawingmilestones.md +++ b/_posts/tsukori/2016-02-17-drawingmilestones.md @@ -7,11 +7,13 @@ title: "Drawing App Milestones" Drawing app vision: Basic paint implementation that allows user to vary brush type, size, and color. Stamp feature with colors and fill option. Basic Milestones: + - [ ] selection of drawing mode using clicks and/or keys - [ ] displays current mode/relevant information - [ ] clear the drawing and start over Specific Milestones: + - [ ] Basic drawing functionality and interface - [ ] Add colors and brush sizes - [ ] Add at least 2 different brush types @@ -20,6 +22,7 @@ Specific Milestones: - [ ] Add fill function for shapes Optional goals: + - [ ] background color selection - [ ] "erase" functionality - [ ] color mixing diff --git a/_posts/tsukori/2016-03-09-drawingapp.md b/_posts/tsukori/2016-03-09-gameapp.md similarity index 98% rename from _posts/tsukori/2016-03-09-drawingapp.md rename to _posts/tsukori/2016-03-09-gameapp.md index 2bfb9374..b4cca2f7 100644 --- a/_posts/tsukori/2016-03-09-drawingapp.md +++ b/_posts/tsukori/2016-03-09-gameapp.md @@ -1,7 +1,7 @@ --- layout: post author: tsukori -title: "Drawing Project: Hangman" +title: "Game Project: Hangman" --- diff --git a/_posts/wookiemage/2016-01-14-Colin's Turtles.md b/_posts/wookiemage/2016-01-14-Colin's Turtles.md index cfcea59e..21c23b34 100644 --- a/_posts/wookiemage/2016-01-14-Colin's Turtles.md +++ b/_posts/wookiemage/2016-01-14-Colin's Turtles.md @@ -4,13 +4,13 @@ author: wookiemage title: Colin's Turtles --- -Here's the first Turtle: +Here\'s the first Turtle: This turtle was basically the same turtle I shared in class. It does prompt for info though. -Here's my super Turtle: +Here\'s my super Turtle: -This turtle took it a little further. It not only asks for color options but also asks the user what kind of polygon they want to draw. There's a little math involed. +This turtle took it a little further. It not only asks for color options but also asks the user what kind of polygon they want to draw. There\'s a little math involed. ``` #The following lines do simple math to determine the interior angle of the polygon with the number of sides the user has specified. #This spans multiple lines because I am unsure of order of operations in python. This declares far more variables than would be needed @@ -29,8 +29,8 @@ for x in range(0, sides): ``` Originally, I hoped to have the turtle draw a star with as many points as specified by the user but I ran into trouble with the math. -I'm sure there is a simple formula for it, but I decided to make my life easier and draw polygons. -Here's a fun challenge for more math minded folks, can you figure out how to make this go? +I\'m sure there is a simple formula for it, but I decided to make my life easier and draw polygons. +Here\'s a fun challenge for more math minded folks, can you figure out how to make this go? And for those of you who are more familiar with Python, can you make my math simpler / use fewer lines and variables? Thanks! diff --git a/_posts/wookiemage/2016-01-14-Wookiemage-first-post.md b/_posts/wookiemage/2016-01-14-Wookiemage-first-post.md index fe9b1cb0..c6c78db3 100644 --- a/_posts/wookiemage/2016-01-14-Wookiemage-first-post.md +++ b/_posts/wookiemage/2016-01-14-Wookiemage-first-post.md @@ -1,6 +1,6 @@ --- layout: post author: wookiemage -title: "Colin's first post!" +title: "Colin\'s first post!" --- Colin is a first year School of Information and Library Science Masters Candidate. He lives in Cary and has a 19 month old toddler who eats all of his time. diff --git a/_posts/wookiemage/2016-01-16-Chapter-Two-Variable-Exercises.md b/_posts/wookiemage/2016-01-16-Chapter-Two-Variable-Exercises.md index 4c50c056..484e9203 100644 --- a/_posts/wookiemage/2016-01-16-Chapter-Two-Variable-Exercises.md +++ b/_posts/wookiemage/2016-01-16-Chapter-Two-Variable-Exercises.md @@ -3,13 +3,13 @@ author: wookiemage layout: post title: Chapter Two Exercises --- - Here's the first exercise: + Here\'s the first exercise: - Here's the second: + Here\'s the second: - Here's the third: + Here\'s the third: These all seemed prettyt straightforward after reading the chapter. I have some familiarity with variables and "types" from taking a C++ class before. @@ -17,4 +17,4 @@ title: Chapter Two Exercises ``` c_temp = float(input("Enter Celsius Temperature: ")) ``` - In order to force it to do that, I threw in the float() tag (class? Function? Not sure what's the right word here) + In order to force it to do that, I threw in the float() tag (class? Function? Not sure what\'s the right word here) diff --git a/_posts/wookiemage/2016-01-18-Chapter-Three-Exercises.md b/_posts/wookiemage/2016-01-18-Chapter-Three-Exercises.md index 23b869de..d7364cc3 100644 --- a/_posts/wookiemage/2016-01-18-Chapter-Three-Exercises.md +++ b/_posts/wookiemage/2016-01-18-Chapter-Three-Exercises.md @@ -3,13 +3,13 @@ author: wookiemage layout: post title: Chapter Three Flow Control Exercises --- -Here's my first exercise: +Here\'s my first exercise: -Here's the second one: +Here\'s the second one: -Here's the final one: +Here\'s the final one: I bet there is a more efficient way of doing this last one. I ended up using both a "try" and an "if". I think that if I knew a little bit more about data types and how they are evaluated in Python I could have just used one or the other. diff --git a/_posts/wookiemage/2016-01-20-Logic-Turtle.md b/_posts/wookiemage/2016-01-20-Logic-Turtle.md index e88d0ec5..693a5e22 100644 --- a/_posts/wookiemage/2016-01-20-Logic-Turtle.md +++ b/_posts/wookiemage/2016-01-20-Logic-Turtle.md @@ -3,8 +3,8 @@ author: wookiemage layout: post title: "Colin's Turtle Logic" --- -I had some trouble finding any inspiration for this one. I just couldn't think of what to do. -So I started off overly ambitious. I decided I was going to draw the Apple Logo with the turtle. I didn't get too far. I couldn't make it fill in the spaces I wanted filled and leave the rest black. And positioning of the circles was difficult too. So I gave up on that one. +I had some trouble finding any inspiration for this one. I just couldn\'t think of what to do. +So I started off overly ambitious. I decided I was going to draw the Apple Logo with the turtle. I didn\'t get too far. I couldn\'t make it fill in the spaces I wanted filled and leave the rest black. And positioning of the circles was difficult too. So I gave up on that one. Instead, I decided on this program: diff --git a/_posts/wookiemage/2016-01-23-Treasure-Hunt.md b/_posts/wookiemage/2016-01-23-Treasure-Hunt.md index 4a79b501..486fb2e7 100644 --- a/_posts/wookiemage/2016-01-23-Treasure-Hunt.md +++ b/_posts/wookiemage/2016-01-23-Treasure-Hunt.md @@ -4,9 +4,9 @@ layout: post title: "Colin's Treasure Hunting Turtle" --- - Here's my turtle indian jones. + Here\'s my turtle indian jones. - I did run into a few troubles along the way. The first time I tried to evaluate if the Tina was within 5 points of the treasure I ran into quite a bit of difficulty. It seemed like no matter what I did, I couldn't win. I even resorted to having the console print the value of each treasure location so that I could copy it, but when I would get to the right place, it still wouldn't trigger the success animation. So I had a look at my code and realized that at some point I had removed the if user_has_won condition. Woops. That means the user could never win. Once I found that, I was able to win. + I did run into a few troubles along the way. The first time I tried to evaluate if the Tina was within 5 points of the treasure I ran into quite a bit of difficulty. It seemed like no matter what I did, I couldn\'t win. I even resorted to having the console print the value of each treasure location so that I could copy it, but when I would get to the right place, it still wouldn\'t trigger the success animation. So I had a look at my code and realized that at some point I had removed the if user_has_won condition. Woops. That means the user could never win. Once I found that, I was able to win. I also had some difficulty with getting the try and except placed in the right spot. I wrote the rest of my code before putting the Try in. This meant I had to indent everything, which I did poorly. I indented the congratulate(tina) block into the while statement so no matter what coordinates I entered, I won. This took a few trials to figure out as it was possible I was just very lucky. - I wasn't. + I wasn\'t. diff --git a/_posts/wookiemage/2016-1-27-Chapter-Four-Exercises.md b/_posts/wookiemage/2016-01-27-Chapter-Four-Exercises.md similarity index 90% rename from _posts/wookiemage/2016-1-27-Chapter-Four-Exercises.md rename to _posts/wookiemage/2016-01-27-Chapter-Four-Exercises.md index 44b8c144..fc30048f 100644 --- a/_posts/wookiemage/2016-1-27-Chapter-Four-Exercises.md +++ b/_posts/wookiemage/2016-01-27-Chapter-Four-Exercises.md @@ -3,10 +3,10 @@ author: wookiemage layout: post title: "Colin's Chapter Four Exercises" --- - Here's the first exercise: + Here\'s the first exercise: - Here's the second exercise: + Here\'s the second exercise: This was a pretty easy set of exercises because we really only needed to nest them inside of a function. All the coding was already done. diff --git a/_posts/wookiemage/2016-01-27-Functional-Turtle.md b/_posts/wookiemage/2016-01-27-Functional-Turtle.md index a98627c6..91c55a2a 100644 --- a/_posts/wookiemage/2016-01-27-Functional-Turtle.md +++ b/_posts/wookiemage/2016-01-27-Functional-Turtle.md @@ -3,9 +3,9 @@ author: wookiemage layout: post title: "Functional Turtles" --- - Here's my original program: + Here\'s my original program: - Here's my program adapted with functions: + Here\'s my program adapted with functions: - I had a little trouble getting this to evaluate correctly. I forgot to have my youWin function return any value at all, so it didn't change the win condition. + I had a little trouble getting this to evaluate correctly. I forgot to have my youWin function return any value at all, so it didn\'t change the win condition. diff --git a/_posts/wookiemage/2016-01-31-Colins-Clicky-Turtle.md b/_posts/wookiemage/2016-01-31-Colins-Clicky-Turtle.md index 9e917de5..647a7519 100644 --- a/_posts/wookiemage/2016-01-31-Colins-Clicky-Turtle.md +++ b/_posts/wookiemage/2016-01-31-Colins-Clicky-Turtle.md @@ -3,12 +3,12 @@ author: wookiemage layout: post title: "Colin's Clicky Turtle" --- - Here's my turtle: + Here\'s my turtle: - I had a hard time figuring out what I wanted to do with this one. And really, it still isn't great but it meets the requirements. - I approached this one function at a time. First I made the setup function draw a sun. Then I took that sun drawing code block and turned it into it's own helper function. + I had a hard time figuring out what I wanted to do with this one. And really, it still isn\'t great but it meets the requirements. + I approached this one function at a time. First I made the setup function draw a sun. Then I took that sun drawing code block and turned it into it\'s own helper function. Having set up the screen, I decided to keep things simple by having my onclick function use my newly made sun drawing function. - Next I needed to have Tina react. So I had her move to the opposite quadrant of wherever the sun was drawn and change colors based on which quadrant she is in. This doesn't really have any significance for the user: she just changes colors because she needed to do something. - When that was all working, I needed a win condition, so I set a comparison using distance from the sun. If she's far enough away, you win. + Next I needed to have Tina react. So I had her move to the opposite quadrant of wherever the sun was drawn and change colors based on which quadrant she is in. This doesn\'t really have any significance for the user: she just changes colors because she needed to do something. + When that was all working, I needed a win condition, so I set a comparison using distance from the sun. If she\'s far enough away, you win. Finally, I shortened the congratulate function (by having the loop repeat fewer times) and then offered the player the chance to keep playing. diff --git a/_posts/wookiemage/2016-02-03-Colins-Chapter-5.md b/_posts/wookiemage/2016-02-03-Colins-Chapter-5.md new file mode 100644 index 00000000..8798176e --- /dev/null +++ b/_posts/wookiemage/2016-02-03-Colins-Chapter-5.md @@ -0,0 +1,13 @@ +--- +author: wookiemage +layout: post +title: "Colin's Chapter 5 Exercises +" +--- + Here\'s the first exercise: + + Here\'s the second: + + These weren\'t too tricky. The hardest thing I kept running into was indentation errors. I would get it working and then try to set it inside the loop, or inside the Try/Except, but I couldn\'t get the danged indentation to line up. I ended up manually setting everything at no indentation and then moving it in based on how deeply it was nested. It was tedious, but it solved my issues. + + diff --git a/_posts/wookiemage/2016-02-6-Colins-Chapter-6-exercises.md b/_posts/wookiemage/2016-02-06-Colins-Chapter-6-exercises.md similarity index 78% rename from _posts/wookiemage/2016-02-6-Colins-Chapter-6-exercises.md rename to _posts/wookiemage/2016-02-06-Colins-Chapter-6-exercises.md index f3939d8e..3940b0ad 100644 --- a/_posts/wookiemage/2016-02-6-Colins-Chapter-6-exercises.md +++ b/_posts/wookiemage/2016-02-06-Colins-Chapter-6-exercises.md @@ -3,7 +3,7 @@ author: wookiemage layout: post title: "Colin's Chapter Six Exercises" --- - Here's the first exercise: + Here\'s the first exercise: ``` fruit = input("Please name a fruit") index = len(fruit) -1 @@ -14,7 +14,7 @@ while index > -1 : index = index - 1 ``` - Here's the second: + Here\'s the second: ``` def counter (word, char) : @@ -23,19 +23,19 @@ def counter (word, char) : if letter == char: count = count + 1 print(count) -counter('mmmmmmmm', 'm') +counter(\'mmmmmmmm\', \'m\') ``` These were pretty straigtforward and followed examples in the chapter pretty closely making it easy to start with some example code and adapt it. -Here's the third: +Here\'s the third: ``` string = "banana" string.count("a") ``` -Here's the fourth: +Here\'s the fourth: ``` -str1 = 'X-DSPAM-Confidence: 0.8475' -atpos = str1.find(':') +str1 = \'X-DSPAM-Confidence: 0.8475\' +atpos = str1.find(\':\') sppos = len(str1) print(atpos, sppos) fnum = str1[atpos+1:sppos] diff --git a/_posts/wookiemage/2016-2-06-Colins-Chapter-8-Exercises.md b/_posts/wookiemage/2016-02-06-Colins-Chapter-8-Exercises.md similarity index 54% rename from _posts/wookiemage/2016-2-06-Colins-Chapter-8-Exercises.md rename to _posts/wookiemage/2016-02-06-Colins-Chapter-8-Exercises.md index a6caeada..0856cc67 100644 --- a/_posts/wookiemage/2016-2-06-Colins-Chapter-8-Exercises.md +++ b/_posts/wookiemage/2016-02-06-Colins-Chapter-8-Exercises.md @@ -1,9 +1,9 @@ --- author: wookiemage layout: post -title: "Colin's Chapter 8 Exercises" +title: "Colin\'s Chapter 8 Exercises" --- - Here's my first exercise: + Here\'s my first exercise: ``` def chop (t) : print (t) @@ -13,25 +13,25 @@ title: "Colin's Chapter 8 Exercises" print (t) return None ``` - This one was pretty easy once I remembered that lists start at 0 instead of one. This means the last index position isn't the same as the overall length, but instead the length minus one. + This one was pretty easy once I remembered that lists start at 0 instead of one. This means the last index position isn\'t the same as the overall length, but instead the length minus one. - Here's my second exercise: + Here\'s my second exercise: - I think that the last line was not properly guarded. It's possible that an email could contain the line "From johnny" That line would be caught by our search because it starts with From, but it has fewer than three words so when + I think that the last line was not properly guarded. It\'s possible that an email could contain the line "From johnny" That line would be caught by our search because it starts with From, but it has fewer than three words so when ``` print(words[2]) ``` is called, it produces an index out of bounds error. I created a guardian line: "if (len(words) < 3) : continue" to ensure if the line is shorter than that, it will be skipped. - This still isn't definative, because an email could contain a line that contains three words but not have a day in the third word position, but at least this stops the code from failing outright. We can run another function at the end to remove any values that aren't on our list of expected day names. + This still isn\'t definative, because an email could contain a line that contains three words but not have a day in the third word position, but at least this stops the code from failing outright. We can run another function at the end to remove any values that aren\'t on our list of expected day names. - Here's the last exercise: + Here\'s the last exercise: ``` -fhand = open('mbox-short.txt') +fhand = open(\'mbox-short.txt\') count = 0 for line in fhand: words = line.split() - # print 'Debug:', words - if (len(words) > 0 and words[0] == 'From') : + # print \'Debug:\', words + if (len(words) > 0 and words[0] == \'From\') : print(words[2]) # Code: http://www.pythonlearn.com/code3/search5.py ``` diff --git a/_posts/wookiemage/2016-2-10-Colins-Poetry-Slam-Turtle.md b/_posts/wookiemage/2016-02-10-Colins-Poetry-Slam-Turtle.md similarity index 100% rename from _posts/wookiemage/2016-2-10-Colins-Poetry-Slam-Turtle.md rename to _posts/wookiemage/2016-02-10-Colins-Poetry-Slam-Turtle.md diff --git a/_posts/wookiemage/2016-02-11-Colin-and-Navaneet-make-a-better-poem.md b/_posts/wookiemage/2016-02-11-Colin-and-Navaneet-make-a-better-poem.md index 494054fe..af121f45 100644 --- a/_posts/wookiemage/2016-02-11-Colin-and-Navaneet-make-a-better-poem.md +++ b/_posts/wookiemage/2016-02-11-Colin-and-Navaneet-make-a-better-poem.md @@ -5,5 +5,5 @@ author: - camazotz title: "Colin and Navaneet make a poetry turtle" --- -Here's our turtle: +Here\'s our turtle: diff --git a/_posts/wookiemage/2016-02-15-Colins-Midsemester-Reflection.md b/_posts/wookiemage/2016-02-15-Colins-Midsemester-Reflection.md index 168a8888..8a8ffcb8 100644 --- a/_posts/wookiemage/2016-02-15-Colins-Midsemester-Reflection.md +++ b/_posts/wookiemage/2016-02-15-Colins-Midsemester-Reflection.md @@ -3,15 +3,20 @@ author: wookiemage layout: post title: "Mid-Semester Reflection" --- - I came to this class with some expectations and some previous coursework in programming. I assumed that this course would be similar to my C++ course in college. I also assumed that my previous experience would always be helpful. I wasn’t right. +#Reflection +I came to this class with some expectations and some previous coursework in programming. I assumed that this course would be similar to my C++ course in college. I also assumed that my previous experience would always be helpful. I wasn\'t right. + This course, with its flipped nature, is not at all like my C++ course ten years ago. That course was very traditional in nature and used a textbook originally published in the late eighties. There is something to be said for doing things the hard way, and I do remember a lot of the concepts from that class, but there is a definite advantage to the setup of this class. -My C++ course started with the history of computers, worked our way through some basic assembly language programming before we ever started messing with the command line. That’s also the furthest we got. We never learned how to interact with any other file, or even create separate files. We supposedly learned object oriented programming, but it’s hard to really see the benefits when the extent of your program is converting military time to standard and displaying it on an ASCII-art clock. The fact that this class has already had us using short functions that call information from another text file is great. I also really appreciate that we don’t spend too much time talking about the benefits of one kind of programming over another or get into in depth “discussions” of whether it’s better to call developers “software engineers,” “computer scientists” or “programmers.” + +My C++ course started with the history of computers, worked our way through some basic assembly language programming before we ever started messing with the command line. That\'s also the furthest we got. We never learned how to interact with any other file, or even create separate files. We supposedly learned object oriented programming, but it\'s hard to really see the benefits when the extent of your program is converting military time to standard and displaying it on an ASCII-art clock. The fact that this class has already had us using short functions that call information from another text file is great. I also really appreciate that we don\'t spend too much time talking about the benefits of one kind of programming over another or get into in depth “discussions” of whether it\'s better to call developers “software engineers,” “computer scientists” or “programmers.” + This class is much more project based. We made something go on our first day: -It isn’t much, but it really shows the emphasis is on doing, not discussing and I really appreciate that. +It isn\'t much, but it really shows the emphasis is on doing, not discussing and I really appreciate that. -My previous experience with programming, limited though it may be, has almost always been helpful. Here’s one example of where it hasn’t been. +My previous experience with programming, limited though it may be, has almost always been helpful. Here\'s one example of where it hasn\'t been. + I had a hard time understanding that Python allows you to loop through a list as many times as there are things in the list without prior knowledge of how long the list is. And that it allows you to declare variables in the loop statement is very different from how C++ does it (or at least how I remember C++ doing it). ``` for line in fhand: @@ -24,12 +29,18 @@ These for loops are super confusing. ``` for line in fhand: ``` -Is simultaneously declaring a variable (line) and declaring a loop that will run as long as there is another entity in the list fhand. Or at least that’s what I think because I’m not really sure how python treats text files called in this way. It seems to treat each line in a text file as another entry in a list. So this statement says for each line (which is arbitrarily named line, it could just as easily be for each x) in fhand do the following. I think that if you were to do the same thing in C++ you would have to declare the existence of line somewhere else, and assign it a value (presumably the length of the array) and then start the list with that information having already been ascertained. And if that info changed, then you would no longer have functioning code. That Python allows and endorses this ambiguity is hurting my head. +Is simultaneously declaring a variable (line) and declaring a loop that will run as long as there is another entity in the list fhand. Or at least that\'s what I think because I\'m not really sure how python treats text files called in this way. It seems to treat each line in a text file as another entry in a list. So this statement says for each line (which is arbitrarily named line, it could just as easily be for each x) in fhand do the following. I think that if you were to do the same thing in C++ you would have to declare the existence of line somewhere else, and assign it a value (presumably the length of the array) and then start the list with that information having already been ascertained. And if that info changed, then you would no longer have functioning code. That Python allows and endorses this ambiguity is hurting my head. + + +I do find that the problem solving strategies I used year before are still helpful here. The biggest strategy that I employ is giving myself lots of time to work through something. I like to start a new assignment the day it\'s posted whenever possible. That way I can finish it early if it\'s easy and if I get frustrated or it just isn\'t clicking, I can take lots of time away from the problem before it\'s due. This strategy has worked very well so far, but as the semester gets busier and busier it\'s going to be hard to find the time in advance to work on it. + +Another strategy that works well for me, that I first started using in my C++ class, is breaking down the program into pseudocode in English before embarking on a large section of an assignment or, as when refactoring the Tetris Turtle, when trying to understand someone else\'s code. Here\'s a good example of that. -I do find that the problem solving strategies I used year before are still helpful here. The biggest strategy that I employ is giving myself lots of time to work through something. I like to start a new assignment the day it’s posted whenever possible. That way I can finish it early if it’s easy and if I get frustrated or it just isn’t clicking, I can take lots of time away from the problem before it’s due. This strategy has worked very well so far, but as the semester gets busier and busier it’s going to be hard to find the time in advance to work on it. -Another strategy that works well for me, that I first started using in my C++ class, is breaking down the program into pseudocode in English before embarking on a large section of an assignment or, as when refactoring the Tetris Turtle, when trying to understand someone else’s code. Here’s a good example of that. On line 222 of the above embedded program, we are declaring a loop. My pseudocode would read something like: -Loop through all the items in the list pieces and for each one reverse the list inside that piece. Or at least I think that’s what this means. I looked up negative ranges on https://docs.python.org/2.3/whatsnew/section-slices.html and it seems to say it reverses the function. -Walking through the code like this really helps me see what isn’t working the way I think it should or sections I don’t really understand. In this case it helped my expose a few lines of code that I don’t understand and that I need to further investigate. This led me to looking up the way that ranges function. This walking through line by line can be very tedious, but because it’s so meticulous you are less likely to miss anything. -Pair programming is completely new to me. We didn’t do anything like that in my previous programming experience and I’m finding it a little hard to get used to. It’s hard for me to not want my hands on the keyboard, and when my hands are on the keyboard, it’s hard for me to “slow down” and listen to what the navigator is saying. One aspect of pair programming I do like is how quickly we can spot simple mistakes: missing colons, parenthesis etc. When you can’t touch the keyboard and are steering the programming you have that opportunity to spot those mistakes before they throw you off. Really, my reticence to adopt this method is just my attitude. I have a hard time not "doing" something, and I'll need to just convince myself of the benefits of this practice. + +Loop through all the items in the list pieces and for each one reverse the list inside that piece. Or at least I think that\'s what this means. I looked up negative ranges on https://docs.python.org/2.3/whatsnew/section-slices.html and it seems to say it reverses the function. + +Walking through the code like this really helps me see what isn\'t working the way I think it should or sections I don\'t really understand. In this case it helped my expose a few lines of code that I don\'t understand and that I need to further investigate. This led me to looking up the way that ranges function. This walking through line by line can be very tedious, but because it\'s so meticulous you are less likely to miss anything. + +Pair programming is completely new to me. We didn\'t do anything like that in my previous programming experience and I\'m finding it a little hard to get used to. It\'s hard for me to not want my hands on the keyboard, and when my hands are on the keyboard, it\'s hard for me to “slow down” and listen to what the navigator is saying. One aspect of pair programming I do like is how quickly we can spot simple mistakes: missing colons, parenthesis etc. When you can\'t touch the keyboard and are steering the programming you have that opportunity to spot those mistakes before they throw you off. Really, my reticence to adopt this method is just my attitude. I have a hard time not "doing" something, and I\'ll need to just convince myself of the benefits of this practice. diff --git a/_posts/wookiemage/2016-02-15-Colins-Tetris-Refactor.md b/_posts/wookiemage/2016-02-15-Colins-Tetris-Refactor.md index dbbe2c78..dfe86cb7 100644 --- a/_posts/wookiemage/2016-02-15-Colins-Tetris-Refactor.md +++ b/_posts/wookiemage/2016-02-15-Colins-Tetris-Refactor.md @@ -3,18 +3,19 @@ author: wookiemage layout: post title: "Colin's Tetris Refactor" --- - Here's my refactor: - - - Here's my thinking: - Right off I saw that we should move the turtles away from the main.py page. Or rather, I thought that we could move them in order to make that page a little more readable. - So I set about pulling each turtle into it's own module. This is easier to read and modify because each one is separate and easily changed without effecting the others. While doing this I noticed that one turtle in particular behaved differently from the others. Most of the turtles drew static elements once at the beginning of the program, but one of them continually draws the screen. - Seeing this logical distinction, I created a new module that sets up the screen and draws the static elements and another that draws the dynamic elements. - While pulling these out, at first I was putting each variable into whichever module needed it, but the I figured I should put all of them in a different module so that they could be found easily and altered. And then I imported them from that module into the others. That way, there's only one place to change a variable and I don't have to worry about them getting mixed up. +Here's my refactor: + + +Here's my thinking: +Right off I saw that we should move the turtles away from the main.py page. Or rather, I thought that we could move them in order to make that page a little more readable. +So I set about pulling each turtle into it's own module. This is easier to read and modify because each one is separate and easily changed without effecting the others. While doing this I noticed that one turtle in particular behaved differently from the others. Most of the turtles drew static elements once at the beginning of the program, but one of them continually draws the screen. +Seeing this logical distinction, I created a new module that sets up the screen and draws the static elements and another that draws the dynamic elements. +While pulling these out, at first I was putting each variable into whichever module needed it, but the I figured I should put all of them in a different module so that they could be found easily and altered. And then I imported them from that module into the others. That way, there's only one place to change a variable and I don't have to worry about them getting mixed up. - Finally, I left these elements on the main page: - ``` - disp = turtle.Screen() +Finally, I left these elements on the main page: + +``` +disp = turtle.Screen() disp.tracer(1000) #This draws the static elements of the gameboy @@ -42,4 +43,5 @@ while True: disp.exitonclick() ``` + I left these here mostly because they contained the loop that would run continuously and the disp. elements that I couldn't figure out how to call to all the needed modules, so intead I called the modules here where it was already established. diff --git a/_posts/wookiemage/2016-02-18-Colins-Drawing-App-Milestones.md b/_posts/wookiemage/2016-02-18-Colins-Drawing-App-Milestones.md index 5a34c67e..e643b35b 100644 --- a/_posts/wookiemage/2016-02-18-Colins-Drawing-App-Milestones.md +++ b/_posts/wookiemage/2016-02-18-Colins-Drawing-App-Milestones.md @@ -5,16 +5,29 @@ title: "Colin's Drawing Milestones" --- Here are my milestones - - [ ] Create a main.py that creates a screen and calls other functions + + - [ ] Create a main.py that creates a screen and calls other functions + - [ ] Create a function that draws a circle + - [ ] Create a function that draws a square + - [ ] Create a function that draws a pentagon + - [ ] Create a function that draws a flower + - [ ] Create a function that changes the color drawn + - [ ] Create a function that changes the background color + - [ ] Create a function that reacts to a click on a turtle + - [ ] Create a function that reacts to a click on the screen + - [ ] Create a function that reacts to button being pressed + - [ ] Create a function that moves your drawing turtle to the place clicked + - [ ] Move functions to modules where they make sense (animations.py, setup.py etc....) + - [ ] Write User instruction text using a turtle diff --git a/_posts/wookiemage/2016-02-22-Drawing-App-Snapshot.md b/_posts/wookiemage/2016-02-22-Drawing-App-Snapshot.md index 35da9be9..01f84e8f 100644 --- a/_posts/wookiemage/2016-02-22-Drawing-App-Snapshot.md +++ b/_posts/wookiemage/2016-02-22-Drawing-App-Snapshot.md @@ -1,10 +1,10 @@ --- author: wookiemage layout: post -title: "Colin's Drawing App Snap Shot" +title: "Colin\'s Drawing App Snap Shot" --- - Here's my snapshot + Here\\'s my snapshot The biggest problem I had with this assignment was trying to set modes that changed what happened on click. I tried two different ways to change what happened when you clicked, but neither were successful. Basically I made a function to change a variable that would serve as the index to a list of other functions that should be called when the app is clicked on. Unfortunately, due to the way the onclick function works, it only ever say the initial value not the updated value. I tried using global variables, I even tried creating a variable inside of a class so that the variable would be changed inside the object, but the onclick method still only looked at the initial value. - I'm not really sure I have any questions exactly. My app is pretty close to done, it certainly meets all the requirements, even if it isn't pretty. + I\'m not really sure I have any questions exactly. My app is pretty close to done, it certainly meets all the requirements, even if it isn\'t pretty. diff --git a/_posts/wookiemage/2016-02-24-Colins-Final-Drawing-App.md b/_posts/wookiemage/2016-02-24-Colins-Final-Drawing-App.md index 59eb49b9..d824ef0b 100644 --- a/_posts/wookiemage/2016-02-24-Colins-Final-Drawing-App.md +++ b/_posts/wookiemage/2016-02-24-Colins-Final-Drawing-App.md @@ -14,23 +14,36 @@ title: "Colin's Drawing App turtle.Turtle.__init__(self) self.shapesIndex = 0 ``` - I created a variable inside the class DrawTurtle that I created so that the variable would be invoked every time the class was instantiated. But, no matter what I did I could not get the disp.onclick method to see that variable. Or rather it would see the variable, but would only see its initial state instead of the new state that I set that too. I was able to write methods to change the variable and even print the variable and show that it was in fact different, but I just couldn't get the onclick method to see it. + I created a variable inside the class DrawTurtle that I created so that the variable would be invoked every time the class was instantiated. But, no matter what I did I could not get the disp.onclick method to see that variable. Or rather it would see the variable, but would only see its initial state instead of the new state that I set that too. I was able to write methods to change the variable and even print the variable and show that it was in fact different, but I just couldn\'t get the onclick method to see it. If I had to guess why, I would guess it had something to do with the screen object being different for each turtle. Instead, I had tina go wherever you clicked, and then I had the methods draw things where ever her current position is. That way you can draw wherever you want. - I also created turtle buttons that changed Tina's color and reset the screen. The positioning of these was a little tricky, but once I got them in the right place it wasn't too bad. Mostly it was just figuring out how to get the words the right distance from the turtle and from the "bottom" of the screen. - Oh, and drawing flowers is difficult. I had to find a new turtle method so that the stem on the flowers would always face down. Fortunately for me, turtle.setheading exists. If it didn't, then I would have had to create some sort of variable to track the turtle's current direction and set it back to 270. + I also created turtle buttons that changed Tina\'s color and reset the screen. The positioning of these was a little tricky, but once I got them in the right place it wasn\'t too bad. Mostly it was just figuring out how to get the words the right distance from the turtle and from the "bottom" of the screen. + Oh, and drawing flowers is difficult. I had to find a new turtle method so that the stem on the flowers would always face down. Fortunately for me, turtle.setheading exists. If it didn\'t, then I would have had to create some sort of variable to track the turtle\'s current direction and set it back to 270. Here are my final milestones and their status: + - [x] Create a main.py that creates a screen and calls other functions + - [x] Create a function that draws a circle + - [x] Create a function that draws a square + - [x] Create a function that draws a pentagon + - [x] Create a function that draws a flower - - [x] Create a function that changes the color drawn -- I actually did more than one of these + + - [x] Create a function that changes the color drawn - I actually did more than one of these + - [x] Create a function that changes the background color - - [x] Create a function that reacts to a click on a turtle -- Again I used this a lot + + - [x] Create a function that reacts to a click on a turtle - Again I used this a lot + - [x] Create a function that reacts to a click on the screen - - [x] Create a function that reacts to button being pressed -- Lots of these too + + - [x] Create a function that reacts to button being pressed - Lots of these too + - [x] Create a function that moves your drawing turtle to the place clicked - - [x] Move functions to modules where they make sense (animations.py, setup.py etc....) -- I think I could probably clean this up more, but I was having difficulty moving some of these functions out of the module that created the screen. - - [x] Write User instruction text using a turtle -- And even better, I made a function to do this too! + + - [x] Move functions to modules where they make sense (animations.py, setup.py etc....) - I think I could probably clean this up more, but I was having difficulty moving some of these functions out of the module that created the screen. + + - [x] Write User instruction text using a turtle - And even better, I made a function to do this too! diff --git a/_posts/wookiemage/2016-02-29-Colins-Peer-Review.md b/_posts/wookiemage/2016-02-29-Colins-Peer-Review.md index 8fdc274e..550946b1 100644 --- a/_posts/wookiemage/2016-02-29-Colins-Peer-Review.md +++ b/_posts/wookiemage/2016-02-29-Colins-Peer-Review.md @@ -3,9 +3,10 @@ author: wookiemage layout: post title: "Colin's Peer Review of Becca's Drawing App" --- -Let's start with the assigment requirements: -The assignment stated that the app should: +#Let\'s start with the assigment requirements: + +##The assignment stated that the app should: Have an entirely graphical user interface (i.e. no printed text input besides what turtle.write()) It does! @@ -24,7 +25,7 @@ Allow the user to clear the drawing and start over I really like this apps functionality. It does three different and creative things. I don't much like the user interface because I feel like it's kind of always in the way. We have such a small area to work with, so I would prefer to get it a little more out of the way. This of course, is personal preference. -Let's talk about code: +##Let\'s talk about code: The assignment stated that the code should: Utilize custom modules for readability and organization @@ -53,8 +54,9 @@ It is! One thing I'm not sure of: why have your main.py be all but empty. There Overall, her code was very clear and organized. It was commented at the function level for almost all the functions. It was very readable. The modes.py module had no comments on it, nevertheless it was fairly straightforward once you went into the other modules to see what the functions that modes.py called did. -Milestones and reflections: -Becca's milestones were all accomplished. She seems to have created them more as a checklist of the assignment requirements instead of thinking of them as different accomplishable blocks of code to create. For example: "is creative" is a difficult milestone to hit. How do you measure when you've accomplished being creative. Conversely, "can clear drawing and start over" is a good milestone because it's a function you can implement and check off when done. +##Milestones and reflections: + +Becca\'s milestones were all accomplished. She seems to have created them more as a checklist of the assignment requirements instead of thinking of them as different accomplishable blocks of code to create. For example: "is creative" is a difficult milestone to hit. How do you measure when you've accomplished being creative. Conversely, "can clear drawing and start over" is a good milestone because it's a function you can implement and check off when done. I like the way Becca reflects on her process. She breaks her thoughts down into different things she wants to change. I like this because it's easy to group each thought that way and easy to understand what things irked her. I don't really get a good idea of her process from this reflection, but I can tell it was definitely iterative. Make something, think about it, change it, etc... It's clear that Becca was very ambitious with this project and stretched herself to accomplish it. diff --git a/_posts/wookiemage/2016-02-3-Colins-Chapter-5.md b/_posts/wookiemage/2016-02-3-Colins-Chapter-5.md deleted file mode 100644 index 68bb72af..00000000 --- a/_posts/wookiemage/2016-02-3-Colins-Chapter-5.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -author: wookiemage -layout: post -title: "Colin's Chapter 5 Exercises -" ---- - Here's the first exercise: - - Here's the second: - - These weren't too tricky. The hardest thing I kept running into was indentation errors. I would get it working and then try to set it inside the loop, or inside the Try/Except, but I couldn't get the danged indentation to line up. I ended up manually setting everything at no indentation and then moving it in based on how deeply it was nested. It was tedious, but it solved my issues. - - diff --git a/_posts/wookiemage/2016-03-02-Colins-Game-Milestones.md b/_posts/wookiemage/2016-03-02-Colins-Game-Milestones.md index cdf187b3..473c79f6 100644 --- a/_posts/wookiemage/2016-03-02-Colins-Game-Milestones.md +++ b/_posts/wookiemage/2016-03-02-Colins-Game-Milestones.md @@ -4,27 +4,47 @@ layout: post title: "Colin's Game Milestones" --- Here are the Milestones for my game sketch: + - [ ] Make a function that spawns turtles in random locations + - [ ] Make a custom turtle class that has a default color and shape + - [ ] Make a function that checks if two turtles are touching + - [ ] Make a function that turns a turtle when it collides with a boundary or another turtle + - [ ] Make a functiont that governs turtle movement such that: turtle move as a function of time, and they bounce off walls + - [ ] Make a function that sets up the play space with walls (visible to the player) + - [ ] Make a function that allows user to reset and start over + - [ ] Make a function that sets a score as a function of time and number of turtles + - [ ] Make a function that displays a message when player turtle collides with other turtle + - [ ] Make a function that allows the user tomove the turtle using keys + - [ ] Make a function that explains goals and only runs once + - [ ] Make a function that randomly changes the background color as a function of time + - [ ] Make a function that generates turtles as a function of time + - [ ] Make a function that changes the player turtles sprite when they collide with another turtle + - [ ] Make a turtle counter + - [ ] Find and use 6 different enemy sprites. Stretch Goals: + - [ ] Make a mode of this game that creates a turtle that has to be caught + - [ ] Make a function that generates turtles on click + Here's what I am thinking: + The player controls a turtle with a custom image for it's shape and moves it around the screen avoiding colliding with other turtles. The player gets more points the longer he survives. This is super ambitious for me. But I am pretty sure we know everything we need to know to accomplish this. diff --git a/_posts/wookiemage/2016-03-09-Colins-game-app.md b/_posts/wookiemage/2016-03-09-Colins-game-app.md index bf8d66d6..9f6fcb9e 100644 --- a/_posts/wookiemage/2016-03-09-Colins-game-app.md +++ b/_posts/wookiemage/2016-03-09-Colins-game-app.md @@ -3,7 +3,7 @@ layout: post author: wookiemage title: "Colin's Game" --- -###Here's the game: +###Here\'s the game: ###Here are my updated milestones: @@ -33,12 +33,14 @@ Most of the changes I made to my milestones were design decisions, but a few wer ### Process I started off by listing out my milestones. They were somewhat useful and most of them were accomplishable tasks, but some of them were much larger than the others. I ended up breaking everything down much further on whiteboards so that I could get a better idea of what each goal involved. Here are some photos of what that looked like: + ![Whiteboards with code snippets and goals](http://i.imgur.com/VWzA5W3m.jpg) ![Whiteboards with code snippets and goals](http://i.imgur.com/uXuB3Srm.jpg) ![Whiteboards with code snippets and goals](http://i.imgur.com/AfQiXsXm.jpg) ![Whiteboards with code snippets and goals](http://i.imgur.com/T2lmA1gm.jpg) ![Whiteboards with code snippets and goals](http://i.imgur.com/IYmapzom.jpg) ![Whiteboards with code snippets and goals](http://i.imgur.com/NeJLpsvm.jpg) + This was very very helpful. I was able to work on different sections and functions distinctly. I dedicated different sections of whiteboard to different goals which allowed me to keep things somewhere other than my head. I could easily work on a section until I got stuck and move to another. Being able to move back and forth between different sections turned out to be helpful for problem solving as well. I was able to move on whenever I needed. ### Troubleshooting diff --git a/_posts/wookiemage/2016-03-29-Colin-and-Navaneet-do-regex.md b/_posts/wookiemage/2016-03-29-Colin-and-Navaneet-do-regex.md new file mode 100644 index 00000000..c4064215 --- /dev/null +++ b/_posts/wookiemage/2016-03-29-Colin-and-Navaneet-do-regex.md @@ -0,0 +1,17 @@ +--- +--- +layout: post +author: +- wookiemage +- camazotz +title: "Colin and Navaneet do some regex's" +--- +Here's Exercise 1 + + +Here's Exercise 2 + + +Here's Exercise 3 + + diff --git a/_posts/yiyangshi/2016-02-17-YiyangsMilestone.md b/_posts/yiyangshi/2016-02-17-YiyangsMilestone.md index 7e70c9e6..6a587013 100644 --- a/_posts/yiyangshi/2016-02-17-YiyangsMilestone.md +++ b/_posts/yiyangshi/2016-02-17-YiyangsMilestone.md @@ -7,6 +7,7 @@ title: "Yiyang's Milestone" I would like to create a face drawing game. An empty face with glasses will be on the background. User will choose from a list of eyebrows, mouths, and eyes to draw on the face. User can also choose the colors of the glass frame. Milestone: + - [ ] Draw the empty face background. - [ ] For each facial feature, draw three choices. - [ ] Create a hiden turtle that draws user's choice on the empty face. diff --git a/_posts/yiyangshi/2016-02-24-YiyangsDrawingApp.md b/_posts/yiyangshi/2016-02-24-YiyangsDrawingApp.md index adb45593..c57eec6a 100644 --- a/_posts/yiyangshi/2016-02-24-YiyangsDrawingApp.md +++ b/_posts/yiyangshi/2016-02-24-YiyangsDrawingApp.md @@ -16,7 +16,9 @@ Another key issue of my program is parameter. Because of the different shapes an Something for the future: I want the users to be able to drag those rectangles onto the face. Dragging seems to be a more natural way in a drawing app like this. + Milestone: + - [x] Draw the empty face background. - [x] For each facial feature, draw three choices. - [x] Create a hiden turtle that draws user's choice on the empty face. diff --git a/_posts/yiyangshi/2016-03-02-YiyangsGameMilestone.md b/_posts/yiyangshi/2016-03-02-YiyangsGameMilestone.md index 84708814..82bff04e 100644 --- a/_posts/yiyangshi/2016-03-02-YiyangsGameMilestone.md +++ b/_posts/yiyangshi/2016-03-02-YiyangsGameMilestone.md @@ -7,6 +7,7 @@ title: "Yiyang's Game App Milestones" I would like to create a game that is similiar to Angry Bird. Users use birds, in this case angry turtles, to target and shoot stacked ice. I would like the users to be able to change the target direction using keyboard, and change the shooting speed of the angry turtles using click. If I have time, I will create different turtle modes that user can choose using click and change speed control to keyboard since its more intuitive. Below are my milestones. Milestones: + - [ ] draw shooting barrel and ice stack - [ ] link shooting barrel with keyboard control. Make shooting barrel rotate by clicking "Up" or "Down" - [ ] make turtle move along the direction of the shooting barrel in straight line @@ -17,6 +18,7 @@ Milestones: - [ ] create "Win" animation Optional Milestones: + - [ ] make a welcoming manual - [ ] create turtles with different mode -- [ ] allow clicking to choose turtle modes and change speed control to keyboard control. +- [ ] allow clicking to choose turtle modes and change speed control to keyboard control. \ No newline at end of file diff --git a/_posts/yiyangshi/2016-03-09-YiyangsGameApp.md b/_posts/yiyangshi/2016-03-09-YiyangsGameApp.md index 1b375147..d64b4d26 100644 --- a/_posts/yiyangshi/2016-03-09-YiyangsGameApp.md +++ b/_posts/yiyangshi/2016-03-09-YiyangsGameApp.md @@ -8,6 +8,7 @@ Here is the program: Milestones: + - [x] draw shooting barrel and ice stack - [x] link shooting barrel with keyboard control. Make shooting barrel rotate by clicking "Up" or "Down" - [x] make turtle move along the direction of the shooting barrel in straight line @@ -18,6 +19,7 @@ Milestones: - [ ] create "Win" animation Optional Milestones: + - [x] make a welcoming manual - [ ] create turtles with different mode - [ ] allow clicking to choose turtle modes and change speed control to keyboard control.