Difference between revisions of "CSC220 Schedule 2010"
(→Weekly Schedule) |
(→Weekly Schedule) |
||
(121 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
---- | ---- | ||
__TOC__ | __TOC__ | ||
+ | |||
+ | =<font color="Magenta">Main Project</font>= | ||
+ | |||
+ | * [http://cs.smith.edu/classwiki/index.php/CSC220_Page_(2010) Main Page] for the Project | ||
=Weekly Schedule= | =Weekly Schedule= | ||
Line 124: | Line 128: | ||
* [[CSC220 Lab 4 2010 | Lab #4]] on Forms | * [[CSC220 Lab 4 2010 | Lab #4]] on Forms | ||
* '''Mini assignment for Wed 9/29''': create an organizational chart for the project. What needs to happen? What tools will be needed? How/where is the data stored? How is the data observed? | * '''Mini assignment for Wed 9/29''': create an organizational chart for the project. What needs to happen? What tools will be needed? How/where is the data stored? How is the data observed? | ||
− | * [[CSC220 Homework 3 2010| Homework #3]] | + | * [[CSC220 Homework 3 2010| Homework #3]] and [[CSC220 Homework 3 Solutions 2010 | Solution programs]] |
− | |||
|| | || | ||
* [http://www.w3schools.com/php/default.asp Php tutorials]: a good place from where to start investigating | * [http://www.w3schools.com/php/default.asp Php tutorials]: a good place from where to start investigating | ||
Line 146: | Line 149: | ||
* [[CSC220 Database Management Systems | Notes on DBMS]] | * [[CSC220 Database Management Systems | Notes on DBMS]] | ||
---- | ---- | ||
− | * [[CSC220 Homework 4 2010| Homework #4]] | + | * [[CSC220 Homework 4 2010| Homework #4]] and [[CSC220 Homework 4 solutions 2010|Solutions]] |
|| | || | ||
* [http://php.net/manual/en/function.htmlspecialchars.php Php htmlspecialchars() function] | * [http://php.net/manual/en/function.htmlspecialchars.php Php htmlspecialchars() function] | ||
Line 158: | Line 161: | ||
| Week 6<br /> 10/11 | | Week 6<br /> 10/11 | ||
|| | || | ||
− | ; '''Monday''': '''Fall Break''' | + | <tanbox> |
+ | ; '''Monday''': | ||
+ | '''Fall Break''' | ||
+ | </tanbox> | ||
; '''Wednesday''' | ; '''Wednesday''' | ||
: <font color="magenta">'''Lab 5'''</font> | : <font color="magenta">'''Lab 5'''</font> | ||
Line 164: | Line 170: | ||
<videoflash>OrAo8oBBFIo</videoflash> | <videoflash>OrAo8oBBFIo</videoflash> | ||
---- | ---- | ||
− | * | + | * [[CSC220_Lab_5_MySQL | Lab 5]] on MySQL |
− | + | * [[CSC220 Homework 5 2010 | Homework 5]] and [[CSC220 Homework 5 Solution 2010 | Solutions]] | |
|| | || | ||
− | * | + | * [http://club-d.org/ebooks/MySQL/MySQL%20Tutorial.pdf MySQL Tutorial]: an e-book with some good information. Check it out. |
|- valign="top" | |- valign="top" | ||
| Week 7 <br /> 10/18 | | Week 7 <br /> 10/18 | ||
|| | || | ||
− | * | + | ;Monday 10/18 |
+ | [[Image:mysqlLogo.png|right |100px|link=http://dev.mysql.com/downloads/workbench/]] | ||
+ | * Something to play with: [http://dev.mysql.com/downloads/workbench/ MySql Workbench], a GUI for MySql | ||
+ | * [http://www.faqs.org/docs/ppbook/x1428.htm Anatomy of a query] <=== good reading! | ||
+ | * [[CSC220 Database Management Systems | More notes on DBMS]] | ||
+ | * [[CSC220 Exercises with MySQL #1 | Exercises]] | ||
+ | |||
+ | ;Wednesday | ||
+ | * Difference between joins (inner and outer) | ||
+ | * Views | ||
+ | * Indexes | ||
+ | * Feedback on Homework #4 | ||
+ | <br /> | ||
+ | <tanbox> | ||
+ | ;Thursday -- Take-home Midterm Exam, available [[CSC220 Midterm 2010 | here]]! | ||
+ | </tanbox> | ||
+ | |||
---- | ---- | ||
* | * | ||
|| | || | ||
− | * | + | * [http://www.faqs.org/docs/ppbook/x1428.htm Anatomy of a SQL query] |
+ | * Joins | ||
+ | ** [http://dev.mysql.com/doc/refman/5.0/en/join.html Joining tables] | ||
+ | * Indexes | ||
+ | ** [http://dev.mysql.com/doc/refman/5.0/en/create-index.html Creating an '''Index'''] | ||
+ | ** [http://dev.mysql.com/doc/refman/5.1/en/mysql-indexes.html How MySQL uses '''Indexes'''] | ||
+ | ** [http://www.bluerwhite.org/btree/ B-Trees] (used for indexes) | ||
+ | * Views | ||
+ | ** [http://dev.mysql.com/doc/refman/5.0/en/create-view.html '''Creating''' a ''View''] | ||
+ | ** [http://dev.mysql.com/doc/refman/5.0/en/views.html '''Using''' a ''View''] | ||
|- style="background:#eeeeff" valign="top" | |- style="background:#eeeeff" valign="top" | ||
| Week 8 <br /> 10/25 | | Week 8 <br /> 10/25 | ||
|| | || | ||
− | * | + | ; Monday 10/25 |
+ | * A word about the Solution for [[CSC220 Homework 5 Solution 2010 | Homework 5]] | ||
+ | * Indexes | ||
+ | ** [http://en.wikipedia.org/wiki/B-tree B-Trees] | ||
+ | ** PRIMARY INDEX | ||
+ | ** INDEX | ||
+ | ** UNIQUE | ||
+ | ** FULL TEXT | ||
+ | * <font color="magenta">'''Lab 6'''</font> | ||
+ | ; Wednesday 10/27 | ||
+ | * Php + MySql | ||
+ | ** [http://php.net/manual/en/function.mysql-connect.php mysql_connect()] | ||
+ | ** [http://us3.php.net/manual/en/function.mysql-select-db.php mysql_select_db()] | ||
+ | ** [http://us3.php.net/manual/en/function.mysql-query.php mysql_query()] | ||
+ | ** [http://us3.php.net/manual/en/function.mysql-fetch-array.php mysql_fetch_array()] | ||
+ | ** [http://us3.php.net/manual/en/function.mysql-close.php mysql_close()] | ||
+ | * [[CSC220 mysqlSkel.php | mysqlSkel.php]] A simple php program that interacts with a mysql database. ''Warning: this program is not robust!'' | ||
+ | * [[CSC220 formSkel.php | formSkel.php]] A self-reloading form that interacts with a mysql database. ''Warning: this code is not robust!'' | ||
+ | * <font color="magenta">''' Lab 7'''</font> | ||
---- | ---- | ||
− | * | + | * [[CSC220 Lab 6 MySQL -- 2010 | Lab 6]] |
+ | * [[CSC220 Lab 7 MySQL -- 2010 | Lab 7]] | ||
+ | * [[CSC220 Homework 6 2010 | Homework 6]] and a [[CSC220 Homework 6 Solution 2010 | Solution Programs]] | ||
|| | || | ||
Line 191: | Line 242: | ||
| Week 9 <br /> 11/01 | | Week 9 <br /> 11/01 | ||
|| | || | ||
− | * | + | [[Image:SQLInjection_XKCD.png |200px|right]] |
+ | ;Monday 11/01 | ||
+ | * Mysql Injection Examples http://unixwiz.net/techtips/sql-injection.html | ||
+ | * [[CSC220 Preventing SQL Injections in Php | mysql_real_escape_string]] to the rescue! | ||
+ | * <font color="magenta">'''Final Project: Discussion'''</font> | ||
+ | [[Image:CSC220ProjectDiagram2.jpg | right|150px]] | ||
+ | * Uploading/Downloading text files | ||
+ | ** [[CSC220_uploadFile_Form_and_Php_Code#UploadFile0.htm | uploadFile0.htm]]: the form | ||
+ | ** [[CSC220_uploadFile_Form_and_Php_Code#UploadFile1.php | uploadFile1.php ]]: the php that processes the form | ||
+ | <!-- | ||
+ | ** [[CSC220 downloadFile0 php | downloadFile0.php]]: a program display simple html and calling upon downloadFile1.php | ||
+ | ** [[CSC220 downloadFile1.php | downloadFile1.php]]: a php program dumping the contents of the saved text file. | ||
+ | ** [[CSC220 UploadImages.php | uploadImages.php]]: example program | ||
+ | ** [http://www.tizag.com/phpT/phpsessions.php Php Sessions] ($_SESSION array) | ||
+ | --> | ||
+ | |||
+ | ;Wednesday 11/03 | ||
+ | * GPS demo by Jon Caris | ||
+ | |||
---- | ---- | ||
− | * | + | * [[CSC220 Homework 7 2010| Homework 7]] and [[CSC220 Homework 7 Solutions | a solution]] |
|| | || | ||
Line 201: | Line 270: | ||
| Week 10 <br /> 11/08 | | Week 10 <br /> 11/08 | ||
|| | || | ||
− | * | + | ; Monday 11/08 |
+ | * Presentation on GIS file formats by Jon Caris. Main reference is [http://smithgisclasses.pbworks.com/w/page/32286115/CSC220 here] | ||
+ | * File uploads: | ||
+ | ** [[CSC220 uploadFile1.htm| uploadFile1.htm]] and [[CSC220_uploadFile1.htm#FileUpload1.php | uploadFile1.php]] | ||
+ | ** [[CSC220 uploadFile2.htm| uploadFile2.htm]] and [[CSC220_uploadFile2.htm#FileUpload2.php | uploadFile2.php]] | ||
+ | ** [[CSC220 uploadFile3.htm| uploadFile3.htm]] and [[CSC220_uploadFile3.htm#FileUpload3.php | uploadFile3.php]] | ||
+ | ** [http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html Blobs]: storage for binary data | ||
+ | |||
+ | |||
+ | ; Wednesday 11/10 | ||
+ | :[[Image:FlightPatternsInProcessing.jpg|right|300px|link=http://www.aaronkoblin.com/work/flightpatterns/]] | ||
+ | * Presentation on '''Processing''' and data visualization by '''Eitan Mendelowitz''' | ||
+ | ** [[CSC220 Processing Sketch Examples | Eitan's sketches]] | ||
+ | * Some examples with potential usefulness for our project: | ||
+ | ** [http://processing.org/learning/topics/pattern.html patterns...] | ||
+ | ** [http://processing.org/learning/topics/follow3.html follow...] | ||
+ | ** [http://processing.org/learning/topics/pulses.html pulses...] | ||
+ | ** [http://processing.org/learning/topics/animator.html animator...] | ||
+ | ** [http://processing.org/learning/topics/puff.html puff...] | ||
+ | ** [http://processing.org/learning/topics/reflection2.html reflection...] | ||
+ | * [[CSC220 Processing and Web Access Examples | Web Access from a Processing Sketch]] | ||
+ | ---- | ||
+ | * Additional Information from Jon: | ||
+ | ** Jon's wiki: http://smithgisclasses.pbworks.com/w/page/32286115/CSC220 | ||
+ | ** Example of GoogleMap Animations | ||
+ | *** GPX to Google Maps animation (very, very cool!) : http://www.chrislacy.net/map/current/index.html | ||
+ | *** uTrack- online GPX track report generator (very cool): http://utrack.crempa.net/ | ||
+ | *** Mike Williams - Google Maps API Tutorial: http://econym.org.uk/gmap/example_cartrip.htm | ||
+ | *** London Tube (looks promising) Website: http://traintimes.org.uk:81/map/tube/?from=map;to=tube | ||
+ | *** Code at github: https://github.com/dracos/underground-live-map | ||
+ | *** Christchurch Earthquake Map: http://www.christchurchquakemap.co.nz/ | ||
---- | ---- | ||
− | * | + | * [[CSC220 Homework 8 2010 | Homework 8]] <--- due 11/19 |
+ | || | ||
+ | * [http://processing.org/ Processing.org]: the main reference and point of entry! | ||
− | |||
− | |||
|- valign="top" | |- valign="top" | ||
| Week 11 <br /> 11/15 | | Week 11 <br /> 11/15 | ||
|| | || | ||
− | * | + | ; Monday 11/15 |
+ | * Food for thought: | ||
+ | <br /> | ||
+ | <center><videoflash type="vimeo">14200191</videoflash></center> | ||
+ | <br /> | ||
+ | Visualization of Wikileaks '''in Processing''' by Mike Dewar. Mike says ''This is a visualisation of activity in Afghanistan from 2004 to 2009 based on the Wikileaks data set. Here we’re thinking of activity as the number of events logged in a small region of the map over a 1 month window. These events consist of all the different types of activity going on in Afghanistan. <br /><br />The intensity of the heatmap represents the number of events logged. The colour range is from 0 to 60+ events over a one month window. We cap the colour range at 60 events so that low intensity activity involving just a handful of events can be seen – in lots of cases there are many more than 60 events in one particular region. The heatmap is constructed for every day in the period from 2004-2009, and the movie runs at 10 days per second.'' | ||
+ | |||
+ | * Storing uploaded files on server: in database or in subdirectories? | ||
+ | ** Random subdirectories, [http://en.wikipedia.org/wiki/MD5 md5] hashing, in general, and with [http://php.net/manual/en/function.md5.php md5]. | ||
+ | * [http://php.net/manual/en/reserved.variables.session.php Php $_SESSION], and [http://www.tizag.com/phpT/phpsessions.php Php examples] | ||
+ | * [[CSC220 Cookie Example | Cookie Example]] and [http://maven.smith.edu/~220a/cookie.php link] | ||
+ | * [http://www.cafeaulait.org/course/week5/16.html Passing parameters to applets] | ||
+ | * [[CSC220 Project Time Diagram | Snapshots from Today's Class]] | ||
+ | ; Wednesday 11/17 | ||
+ | * '''Team work + contract''' | ||
+ | # Name of individual team partners (does your team have a name?) | ||
+ | # Description of the tasks you want to work on for the final project | ||
+ | # Your plan of attack: | ||
+ | ## Where are you starting from? | ||
+ | ## What do you want to have accomplished by the time of the presentation on the last day of class? | ||
+ | ## What do you want to have accomplished by the last day of exams, which is when the project is due? | ||
+ | ## What is missing for you to accomplish your goal(s)? | ||
+ | ## Do you have all the data? Part of the data? | ||
+ | ## Do you have all the programs? Some of the programs? Is there anybody else in class who is generating something you need? Which team is it? | ||
+ | ## How do you plan on addressing Items 5 and 6? | ||
+ | # If your plan of attack fails for some reason, is there an easy way to change direction? | ||
+ | |||
+ | * More food for thought (from http://www.digitalurban.org/2010/11/swinglet-cam-diy-drone-aerial.html) | ||
+ | <videoflash>B-xVy2E1sT4</videoflash> | ||
+ | |||
---- | ---- | ||
− | * | + | * No homework this week; Work on your project! |
|| | || | ||
− | * | + | * [http://php.net/manual/en/function.setcookie.php setcookie()] function |
+ | * [http://www.tizag.com/phpT/phpcookies.php Tutorial] on cookies | ||
|- style="background:#eeeeff" valign="top" | |- style="background:#eeeeff" valign="top" | ||
| Week 12 <br /> 11/22 | | Week 12 <br /> 11/22 | ||
|| | || | ||
− | * | + | ; Monday 11/22 |
− | * | + | * <font color="magenta">'''Lab 8'''</font> on mail redirection |
− | + | * <font color="magenta">'''Lab 9'''</font> on backing up mysql databases | |
+ | ; Wednesday 11/24 | ||
+ | <tanbox> | ||
+ | <!--[[Image:DancingTurkey.gif | 150px| right]]--> | ||
+ | [[Image:TurkeyCarcass.jpg | 200px | right]] | ||
+ | <center>'''Thanksgiving<br />Break'''</center> | ||
+ | </tanbox> | ||
---- | ---- | ||
− | * | + | * No homework this week; Work on your project! |
+ | * [[CSC220 Lab 8: Redirecting Email to Database | Lab 8]] | ||
+ | * [[CSC220 Lab 9: Automatic MySql Database Backup | Lab 9]] | ||
|| | || | ||
* | * | ||
Line 234: | Line 371: | ||
| Week 13 <br /> 11/29 | | Week 13 <br /> 11/29 | ||
|| | || | ||
− | * | + | ; Monday 11/29 |
+ | * [http://cs.smith.edu/~thiebaut/classes/220/CppCrashCourse_220_2010.pdf C++ Crash Course]. There are no solutions to the labs/exercises in the presentation: you have to work them out on your own to learn C++!!! | ||
+ | ; Wednesday 12/1 | ||
+ | * Group work on project ([http://www.facebook.com/album.php?aid=259348&id=264041891883 photos]) | ||
+ | <br /> | ||
+ | [[Image:CSC220Board_1_1201.jpg |200px]] | ||
+ | [[Image:CSC220Board_2_1201.jpg|200px]] <br /> | ||
+ | <br /> | ||
+ | [[Image:CSC220Board_3_1201.jpg|200px]] | ||
+ | [[Image:CSC220Board_4_1201.jpg|200px]] | ||
+ | <br /> | ||
+ | * Food for thought: | ||
+ | <videoflash>4cEQZreQ2zQ</videoflash> | ||
+ | <br /> | ||
+ | * New development for processing: processing/javascript: program in Processing, save as a javascript library. No java involved! | ||
+ | <center>[[Image:ProcessingJS_org.png|300px|link=http://processingjs.org/]]<br />http://processingjs.org/</center> | ||
+ | |||
+ | ---- | ||
+ | * No homework this week; Work on your project! | ||
|| | || | ||
− | * | + | * [http://cplusplus.com/doc/tutorial/ C++ Tutorial]: Very good coverage of C++! |
|- style="background:#eeeeff" valign="top" | |- style="background:#eeeeff" valign="top" | ||
| Week 14 <br /> 12/06 | | Week 14 <br /> 12/06 | ||
|| | || | ||
− | * | + | ; Monday 12/06 |
+ | * [[CSC220 C++Qt Crash Course | C++ Crash Course: GUI Programming with Qt]] | ||
+ | ; Wednesday 12/08 | ||
+ | * [http://cs.smith.edu/classwiki/index.php/CSC220_Assignments_2010 Assignments from last meeting on 12/1] | ||
+ | * Group work | ||
+ | * Board Capture: | ||
+ | [[Image:CSC220ProjectPresPrepa1.jpg|140px]] | ||
+ | [[Image:CSC220ProjectPresPrepa2.jpg|140px]] | ||
+ | [[Image:CSC220ProjectPresPrepa3.jpg|140px]] | ||
+ | <br /> | ||
+ | [[Image:CSC220ProjectPresPrepa4.jpg|140px]] | ||
+ | [[Image:CSC220ProjectPresPrepa5.jpg|140px]] | ||
+ | [[Image:CSC220ProjectPresPrepa6.jpg|140px]] | ||
---- | ---- | ||
− | * | + | * No homework this week; Work on your project! |
|| | || | ||
* | * | ||
Line 251: | Line 418: | ||
| Week 15 <br /> 12/13 | | Week 15 <br /> 12/13 | ||
|| | || | ||
− | + | ; '''Monday''' -- '''Project Presentation''' | |
+ | <center> | ||
+ | [[Image:ProjectPresentation1.gif]] | ||
+ | </center> | ||
+ | ;Food for thought | ||
+ | * Below, Facebook friendship graph, from http://chartporn.org/2010/12/14/facebook-friends/ | ||
+ | <center>[[Image:FacebookFriendships.png|450px]]</center> | ||
+ | |||
---- | ---- | ||
− | * | + | * [[CSC220 Final Assignment 2010 | Final Assignment]] regarding project with details of submission. |
|| | || | ||
* | * | ||
Line 270: | Line 444: | ||
==Linux Utilities== | ==Linux Utilities== | ||
* [http://www.linuxtopia.org/online_books/advanced_bash_scripting_guide/textproc.html Good information on Grep] (Thanks Sharon!) | * [http://www.linuxtopia.org/online_books/advanced_bash_scripting_guide/textproc.html Good information on Grep] (Thanks Sharon!) | ||
+ | |||
+ | ==MySQL== | ||
+ | |||
+ | * [http://club-d.org/ebooks/MySQL/MySQL%20Tutorial.pdf MySQL Tutorial] ebook. | ||
+ | * [http://dev.mysql.com/doc/refman/5.5/en/examples.html Examples of Common Queries] on dev.mysql.com | ||
+ | * [http://dev.mysql.com/doc/refman/5.5/en/select.html Select Syntax] on dev.mysql.com | ||
+ | * [http://dev.mysql.com/doc/refman/5.1/en/counting-rows.html Counting rows] with count() | ||
==Maps/GIS== | ==Maps/GIS== | ||
* [http://radar.oreilly.com/2010/09/the-state-of-mapping-apis-five.html The State of Mapping APIs], Adam DuVander, [http://radar.oreilly.com/ O'Reilly Radar], 7 Sept. 2010. | * [http://radar.oreilly.com/2010/09/the-state-of-mapping-apis-five.html The State of Mapping APIs], Adam DuVander, [http://radar.oreilly.com/ O'Reilly Radar], 7 Sept. 2010. | ||
+ | |||
+ | * [http://blog.ask4itsolutions.com/2009/03/18/install-uninstall-google-earth-on-fedora10/ Directions for installing Google Earth] under Fedora. | ||
==Tips & Tricks== | ==Tips & Tricks== | ||
Line 280: | Line 463: | ||
=List of Programs= | =List of Programs= | ||
− | * | + | * [[:Category:Php| Php]] programs |
− | + | * [[:Category:MySql |MySql]] programs | |
− | + | * [[:Category:Bash | Bash ]] programs | |
− | + | * [[:Category:Processing |Processing]] programs | |
− | * [[ | ||
− | |||
Line 301: | Line 482: | ||
<br /> | <br /> | ||
− | [[Category:CSC220]] | + | [[Category:CSC220]][[Category:Processing]][[Category:Php]][[Category:MySql]][[Category:Bash]] |
Latest revision as of 14:38, 14 December 2010
Contents
Main Project
- Main Page for the Project
Weekly Schedule
Week | Topics | Reading |
Week 1 9/08 |
|
|
Week 2 9/13 |
|
|
Week 3 9/20 |
|
|
Week 4 9/27 |
|
|
Week 5 10/04 |
|
|
Week 6 10/11 |
Fall Break
|
|
Week 7 10/18 |
|
|
Week 8 10/25 |
|
|
Week 9 11/01 |
|
|
Week 10 11/08 |
|
|
Week 11 11/15 |
|
|
Week 12 11/22 |
|
|
Week 13 11/29 |
http://processingjs.org/
|
|
Week 14 12/06 |
|
|
Week 15 12/13 |
|
|
Links and Resources
Bash Shell
Linux Utilities
- Good information on Grep (Thanks Sharon!)
MySQL
- MySQL Tutorial ebook.
- Examples of Common Queries on dev.mysql.com
- Select Syntax on dev.mysql.com
- Counting rows with count()
Maps/GIS
- The State of Mapping APIs, Adam DuVander, O'Reilly Radar, 7 Sept. 2010.
- Directions for installing Google Earth under Fedora.
Tips & Tricks
List of Programs
- Php programs
- MySql programs
- Bash programs
- Processing programs