Difference between revisions of "CSC220 Schedule 2010"

From dftwiki3
Jump to: navigation, search
(Weekly Schedule)
(Weekly Schedule)
 
(193 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 11: Line 15:
 
|width="15%"| Week 1 <br /> 9/08  
 
|width="15%"| Week 1 <br /> 9/08  
 
|width="60%"|
 
|width="60%"|
 +
;Wednesday 9/08
 
* Introduction and [[CSC220 Syllabus 2010 | syllabus]]
 
* Introduction and [[CSC220 Syllabus 2010 | syllabus]]
 
* Overview of the project
 
* Overview of the project
 +
** [[CSC220 Picture Gallery| Some pictures]]
 +
** [http://maps.google.com/?q=http://share.abvio.com/8c66/82ec/4c15/b2d6/Walkmeter-Walk-20100816-0741.kml Google Maps] example (Generated by walkmeter)
 
* What we'll use this semester
 
* What we'll use this semester
 
* Sources of information
 
* Sources of information
Line 25: Line 32:
 
*** ls
 
*** ls
 
*** rm
 
*** rm
 +
*** cat
 
*** cd
 
*** cd
 
*** pwd
 
*** pwd
 +
*** grep, -i, -l, -v, -A, -B
 
*** wc
 
*** wc
 
*** chmod
 
*** chmod
Line 32: Line 41:
 
*** head &amp; tail
 
*** head &amp; tail
 
***  tail -f
 
***  tail -f
 +
*** history
 
*** watch
 
*** watch
** pipes and redirection, stdout, stderr
 
*** sort
 
*** cut
 
** programming, bash scripts
 
*** variables
 
*** for loops
 
 
----
 
----
* [[CSC220 Lab 1 2010|Lab #1]]
+
* &nbsp;
 
|
 
|
 
* [http://en.wikipedia.org/wiki/Unix_shell Unix Shells] (on wikipedia)
 
* [http://en.wikipedia.org/wiki/Unix_shell Unix Shells] (on wikipedia)
 
* [http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html Bash Beginners Guide]
 
* [http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html Bash Beginners Guide]
 +
* [http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html All about redirection with Bash]
 
|- style="background:#eeeeff" valign="top"
 
|- style="background:#eeeeff" valign="top"
 
| Week 2 <br /> 9/13  
 
| Week 2 <br /> 9/13  
 
||  
 
||  
*
+
[[Image:LearningTheBashShell.gif | right|100px|link=http://oreilly.com/catalog/9781565923478]]
 +
;Mon 9/13
 +
* <font color="magenta">'''Lab 1'''</font>: playing with bash
 +
* pipes and redirection, stdout, stderr
 +
** sort
 +
;Wed 9/15
 +
* [[HOWTO change your login shell | How to change your login shell automatically]]
 +
* cut
 +
* cat
 +
* programming, bash scripts
 +
** variables
 +
** for loops
 +
* <font color="magenta">'''Lab 2'''</font>
 +
* [[dolyapunov.sh | An example script]] illustrating features we will not cover in class, but that are important and useful.
 +
* [[fileinfo.sh | Another example]] illustrating how to test file system-parameters.
 
----
 
----
 +
* [[CSC220 Lab 1 2010|Lab #1]] (Mon)
 +
* [[CSC220 Lab 2 2010|Lab #2]] (Wed)
 +
* [[CSC220 Homework 1 2010| Homework #1]] and [[CSC220 Homework 1 Solutions 2010 | Solution Programs]]
  
*
 
 
||  
 
||  
*
+
* A good reference: [http://www.gnu.org/software/bash/manual/bashref.html The GNU Bash manual]
 +
 
 
|- valign="top"
 
|- valign="top"
 
| Week 3 <br /> 9/20  
 
| Week 3 <br /> 9/20  
 
||
 
||
*
+
; Monday 9/20
 +
* Crontab Example ([http://en.wikipedia.org/wiki/Cron Cron Syntax])
 +
* php
 +
** architecture of a Web Server
 +
** Apache
 +
** public_html
 +
** chmod a+r, chmod a+rx
 +
** [[CSC220 phpinfo.php | phpinfo.php]]: simple test
 +
** [[CSC220 fibonacci1.php | fibonacci1.php]]: generates fibonacci numbers
 +
** [[CSC220 fibonacci2.php | fibonacci2.php]]: fibonacci numbers in a list
 +
** [[CSC220 fibonacci3.php | fibonacci3.php]]: fibonacci numbers in a table
 +
** [[CSC220 fibonacci4.php | fibonacci4.php]]: fibonacci numbers in a while loop
 +
** [[CSC220 fibonacci5.php | fibonacci5.php]]: only the even fibonaccis.
 +
; Wednesday 9/22
 +
* phpinfo() test
 +
* using Php as interpreter (on hadoop110)
 +
* Arrays in php:  [[CSC220 Php Arrrays| sample programs]]
 +
* <font color="magenta">'''Lab 3'''</font>
 +
 
 
----
 
----
  
*
+
* [[CSC220 Lab 3 2010 | Lab #3]] on Php
 +
* [[CSC220 Homework 2 2010 | Homework #2]] and [[CSC220 Homework 2 Solutions 2010 | Solution Programs]]
 
||  
 
||  
*
+
* [http://www.php.net/manual/en/ THE MAIN PHP REFERENCE]
 
+
* [http://en.wikipedia.org/wiki/HTTP_Server Definition of a Web Server]
 +
* [http://en.wikipedia.org/wiki/Web_browser Definition of a Web Browser]
 +
* [http://www.iana.org/assignments/port-numbers List of TCP and UDP Ports]
 +
* [http://en.wikipedia.org/wiki/Transmission_Control_Protocol The TCP Protocol]
 +
* [http://en.wikipedia.org/wiki/User_Datagram_Protocol the UDP Protocol]
 +
* [http://www.w3.org/TR/html4/interact/forms.html The main reference on HTML forms]
 +
* [http://www.cs.tut.fi/~jkorpela/forms/methods.html Difference between Post and Get methods]
 +
* [http://www.cs.tut.fi/~jkorpela/forms/ References on how to write HTML forms]
 
|- style="background:#eeeeff" valign="top"
 
|- style="background:#eeeeff" valign="top"
 
| Week 4 <br /> 9/27  
 
| Week 4 <br /> 9/27  
 
||
 
||
*
+
;Monday 9/27
 +
* HTML Forms
 +
** [[CSC220 Form1.htm | form1.htm]]
 +
** [[CSC220 processForm1.php | processform1.php]]
 +
** [[CSC220 echoform.php | echoform.php]] (a simple php file to test forms)
 +
** [[CSC220 form2.htm | form2.htm ]]: a form displaying many different input options.
 +
* <font color="magenta">'''Lab 4'''</font>
 +
* Php functions dealing with arrays and strings
 +
* Testing tricks and warnings.  Example: [[CSC220 strposTest.php | the '''strpos()''' function]]
 +
* Creating Php functions
 +
* [[CSC220 Processing KLM coordinates in Php|Exercise: processing KML coordinates.]]
 
----
 
----
*
+
* [[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?
 +
* [[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/php_ref_array.asp Php array-operations]
 +
** [http://www.w3schools.com/php/php_ref_string.asp Php string-operations]
  
 
|- valign="top"
 
|- valign="top"
 
| Week 5 <br /> 10/04  
 
| Week 5 <br /> 10/04  
 
||
 
||
*
+
;Monday 10/04
 +
* Project overview.  See pictures [[CSC220 Project Overview 2010 | here]].
 +
* Below, a video created by Jon for the class.  Thanks Jon!
 +
<videoflashright>5tC-AcKMQJE</videoflashright>
 +
;Wednesday 10/06
 +
* Robustness
 +
** form that reloads themselves: [[CSC220 Self Reloading Php Form | example]], [http://maven.smith.edu/~220a/reloadForm.php link]
 +
** [http://www.wellho.net/resources/ex.php4?item=h107/myform.php Another example]
 +
<!-- ** [http://www.theserverpages.com/articles/webmasters/php/security/Code_Injection_Vulnerabilities_Explained.html Example of code injection] -->
 +
* Catching email messages programmatically. [[CSC220 parseEmail.py | Python Example]]
 +
* [[CSC220 Database Management Systems | Notes on DBMS]]
 
----
 
----
*
+
* [[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://code.google.com/edu/tools101/mysql.html Introduction to databases and MySql] on [http://code.google.com/edu Google.code]
 +
* [http://dev.mysql.com/doc/refman/5.1/en/tutorial.html MySql Tutorial] on [http://dev.mysql.com dev.mysql.com]
 +
* [[media:StanfordDatabaseCh1.pdf | Chapter 1]] (required reading) and [[media:StanfordDatabaseCh2.pdf |Chapter 2]] of Garcia-Molina, Ullman and Widom's [http://infolab.stanford.edu/~ullman/dscb.html Database Systems] book.
 +
<br />
 +
<br />
 +
* [http://www.instamapper.com/ Instamapper]: discovery of the week, found by Jon.
 
|- style="background:#eeeeff" valign="top"
 
|- style="background:#eeeeff" valign="top"
 
| Week 6<br /> 10/11  
 
| Week 6<br /> 10/11  
 
||
 
||
* '''Monday''': '''Fall Break'''  
+
<tanbox>
 +
; '''Monday''':  
 +
'''Fall Break'''  
 +
</tanbox>
 +
; '''Wednesday'''
 +
: <font color="magenta">'''Lab 5'''</font>
 +
:Food for thought...
 +
<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 110: 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 120: 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
* Wednesday: '''Thanksgiving Break'''
+
* <font color="magenta">'''Lab 8'''</font> on mail redirection
* Friday: '''Thanksgiving Break'''
+
* <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 153: 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 170: Line 418:
 
| Week 15 <br /> 12/13  
 
| Week 15 <br /> 12/13  
 
||
 
||
* '''Monday''': '''Last Class'''
+
; '''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 187: Line 442:
 
* [http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html Bash Beginners Guide]
 
* [http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html Bash Beginners Guide]
  
=List of Programs=
+
==Linux Utilities==
+
* [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==
 +
 
 +
* [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.
  
=Miscellaneous Information=
+
* [http://blog.ask4itsolutions.com/2009/03/18/install-uninstall-google-earth-on-fedora10/ Directions for installing Google Earth] under Fedora.
  
*
+
==Tips &amp; Tricks==
 +
* [[HOWTO change your login shell| How to change your login shell automatically]]
  
 +
=List of Programs=
 +
 +
* [[:Category:Php| Php]] programs
 +
* [[:Category:MySql |MySql]] programs
 +
* [[:Category:Bash | Bash ]] programs
 +
* [[:Category:Processing |Processing]] programs
  
  
Line 210: 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

Back to Main Page


Main Project

Weekly Schedule

Week Topics Reading
Week 1
9/08
Wednesday 9/08
  • Introduction and syllabus
  • Overview of the project
  • What we'll use this semester
  • Sources of information
  • Linux shells
    • what is a shell (see wikipedia)?
    • different choices: Bourne shell, C shell, Z shell, Korn shell, Bash (Bourne Again) shell
  • The Bash shell
    • default shell for Mac, GNU operation system, and many Linux variants
    • has been ported to MS-DOS
    • configuration files: .bash_profile, .bashrc
    • important commands:
      • ls
      • rm
      • cat
      • cd
      • pwd
      • grep, -i, -l, -v, -A, -B
      • wc
      • chmod
      • chown
      • head & tail
      • tail -f
      • history
      • watch

  •  
Week 2
9/13
LearningTheBashShell.gif
Mon 9/13
  • Lab 1: playing with bash
  • pipes and redirection, stdout, stderr
    • sort
Wed 9/15

Week 3
9/20
Monday 9/20
Wednesday 9/22
  • phpinfo() test
  • using Php as interpreter (on hadoop110)
  • Arrays in php: sample programs
  • Lab 3

Week 4
9/27
Monday 9/27

  • 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?
  • Homework #3 and Solution programs
Week 5
10/04
Monday 10/04
  • Project overview. See pictures here.
  • Below, a video created by Jon for the class. Thanks Jon!

Wednesday 10/06



Week 6
10/11
Monday

Fall Break

Wednesday
Lab 5
Food for thought...


Week 7
10/18
Monday 10/18
MysqlLogo.png
Wednesday
  • Difference between joins (inner and outer)
  • Views
  • Indexes
  • Feedback on Homework #4


Thursday -- Take-home Midterm Exam, available here!

Week 8
10/25
Monday 10/25
  • A word about the Solution for Homework 5
  • Indexes
    • B-Trees
    • PRIMARY INDEX
    • INDEX
    • UNIQUE
    • FULL TEXT
  • Lab 6
Wednesday 10/27

Week 9
11/01
SQLInjection XKCD.png
Monday 11/01
CSC220ProjectDiagram2.jpg
Wednesday 11/03
  • GPS demo by Jon Caris

Week 10
11/08
Monday 11/08


Wednesday 11/10
FlightPatternsInProcessing.jpg



Week 11
11/15
Monday 11/15
  • Food for thought:



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.

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.

Wednesday 11/17
  • Team work + contract
  1. Name of individual team partners (does your team have a name?)
  2. Description of the tasks you want to work on for the final project
  3. Your plan of attack:
    1. Where are you starting from?
    2. What do you want to have accomplished by the time of the presentation on the last day of class?
    3. What do you want to have accomplished by the last day of exams, which is when the project is due?
    4. What is missing for you to accomplish your goal(s)?
    5. Do you have all the data? Part of the data?
    6. 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?
    7. How do you plan on addressing Items 5 and 6?
  4. If your plan of attack fails for some reason, is there an easy way to change direction?


  • No homework this week; Work on your project!
Week 12
11/22
Monday 11/22
  • Lab 8 on mail redirection
  • Lab 9 on backing up mysql databases
Wednesday 11/24
TurkeyCarcass.jpg
Thanksgiving
Break


Week 13
11/29
Monday 11/29
  • 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 (photos)


CSC220Board 1 1201.jpg CSC220Board 2 1201.jpg

CSC220Board 3 1201.jpg CSC220Board 4 1201.jpg

  • Food for thought:


  • New development for processing: processing/javascript: program in Processing, save as a javascript library. No java involved!
ProcessingJS org.png
http://processingjs.org/

  • No homework this week; Work on your project!
Week 14
12/06
Monday 12/06
Wednesday 12/08

CSC220ProjectPresPrepa1.jpg CSC220ProjectPresPrepa2.jpg CSC220ProjectPresPrepa3.jpg
CSC220ProjectPresPrepa4.jpg CSC220ProjectPresPrepa5.jpg CSC220ProjectPresPrepa6.jpg


  • No homework this week; Work on your project!


Week 15
12/13
Monday -- Project Presentation

ProjectPresentation1.gif

Food for thought
FacebookFriendships.png



Links and Resources

Bash Shell

Linux Utilities

MySQL

Maps/GIS

Tips & Tricks

List of Programs












(c) D. Thiebaut 2010, Dept. Computer Science, Smith College.