Fall 2008 LPT730 Weekly Schedule
Contents
- 1 Weekly schedule remarks
- 2 General rules about LPT730 labs
- 3 Meet and Greet (Sept 2)
- 4 Session 01 (Sept 4 - Sept 10) - Course Introduction, Software Licensing
- 5 Session 02 (Sept 11 - Sept 17) - Electronic Communication
- 6 Session 03 (Sept 18 - Sept 24) - Browsers, WWW Downloaders
- 7 Session 04 (Sept 25 - Oct 1) - Productivity Tools
- 8 Session 05 (Oct 2 - Oct 15) - XHTML and CSS
- 9 Session 06 (Oct 16 - October 29) - Web Forms, JavaScript and DOM
- 10 FSOSS and Study Week (Oct 20 - Oct 24)
- 11 Assignment 1 Work (Oct 28)
- 12 Midterm Test - Part 1 (Oct 30)
- 13 Games (Nov 4)
- 14 Session 07 (Nov 6 - Nov 12) - Finding and Moving Files
- 15 Session 08 (Nov 13 - Nov 19 ) - Graphics Software
- 16 Midterm Test - Part 2 (Nov 20)
- 17 Assignment 2 Work (Nov 25)
- 18 Session 09 (Nov 27 - Dec 3) - Multimedia Software
- 19 Session 10 (Dec 4) - File Formats
- 20 Exam Week (Dec 8 - Dec 12)
Weekly schedule remarks
- This schedule is tentative and is subject to change
- The instructional portion of the course will consist of 10 weekly sessions
- A "Session", unless announced otherwise, starts on Thursday starting with a lecture followed by a lab on Tuesday for this course
General rules about LPT730 labs
- All labs are due on Wednesdays 11:59 p.m. at the end of their respective sessions
- Please make an effort to complete labs on time - habitual lateness will mean mark reductions
- Make sure to reference your work - anything that you did not know and had to find out, even if not quoted directly must be referenced
- A research article with less than two references will generally not be accepted
- Each research article/topic entry should be at least 350 words in length
- Email your professor with the blog URL (if applicable) once posted
- These rules apply to all labs unless noted otherwise
Meet and Greet (Sept 2)
- If possible, come and introduce yourself in person
Lab #0
- Open a blog account if you do not have one
- Create a blog section devoted to the LPT730 course
- In the first blog entry tell about yourself
- Education and/or professional background
- Your interests in computers (other than playing games)
- Hobbies away from computers
- Anything else you wish to share with the world
- In another entry write an article about two desktop software applications that you use often.
- Your choices do not have to be Linux-based or open source, but please make an effort to show us something unusual - MS Office, Firefox etc. are not the best choices
- What do you use it for and why
- Highlight strengths and weaknesses of the software
- For each of your choices provide at least one screenshot
Note: this lab is not graded, however mandatory. This lab is exempted from the length and referencing requirements unless something is copied or quoted directly.
Session 01 (Sept 4 - Sept 10) - Course Introduction, Software Licensing
Lecture
- Course Introduction
- Software Licensing Modes
- Open Source Licensing
- Fedora Linux
- General Overview
- GNOME Desktop
Class slides: http://cs.senecac.on.ca/~mheidenr/lpt730/notes/LPT730_Session_01.odp
Lab #1
- Research and blog about the following topics:
- Topic 1: Software Patents - good or bad?
- Topic 2: Proposed Federal Bill C-61 and its potential impact on open source software
Links
Blog_Guidelines
Open Source%40Seneca Planet List
Fedora Project: http://fedoraproject.org/
Open Source Initiative: http://opensource.org/
GNU OS: http://www.gnu.org/
Happy Birthday GNU by Stephen Fry: http://www.gnu.org/fry/happy-birthday-to-gnu.html
Open Source As Alternative: http://www.osalt.com
CNN on Software Patents: http://www.cnn.com
Wikipedia article on Software Patents
List of software patents
- Some interesting and funny links...
The free software song: http://video.google.com/videoplay?docid=-665877370978037604&vt=lf&hl=en
Some interviews, conferences, etc... about free software... http://video.google.com/videoplay?docid=6390784544771380326 http://video.google.com/videoplay?docid=-963972271550370203&vt=lf&hl=en http://www.youtube.com/watch?v=lmKy_LP6JPQ&feature=related http://www.youtube.com/watch?v=kSZZraHN0Yg&feature=related
(About Richard Stallman...) http://en.wikipedia.org/wiki/Richard_Stallman
Session 02 (Sept 11 - Sept 17) - Electronic Communication
Lecture
- Package Management
- Software Integrity
- Electronic Communication
- Electronic Communication Security
- Public Key Encryption
- Communication Protocols
- Electronic Mail
- Secure E-Mail
- IRC
- Instant Messaging
- VOIP
- Software Covered
- rpm
- yum
- PackageKit/pkcon
- md5sum
- Evolution
- Mozilla Thunderbird
- Alpine
- gpg2
- Chatzilla
- XChat
- Irssi
- Pidgin
- Ekiga
- Twinkle
Class slides: http://cs.senecac.on.ca/~mheidenr/lpt730/notes/LPT730_Session_02.odp
Lab #2
Complete the following using Thunderbird with the Enigmail add-on.
- Using gpg2 create an OpenPGP key pair for yourself. Make sure to create a proper and secure backup of your keys.
- Configure your email client for OpenPGP support.
- Post your public key in ASCII format on your blog. Also, upload your key to a keyserver (pool.sks-keyservers.net).
- Send a PGP-signed message to your LPT730 professor.
- Assuming that you completed all above steps correctly, you will receive a digitally signed and encrypted reply.
- Reply with an encrypted and signed message, making sure to quote the conversation in-line.
Optional work: Obtain public keys from your classmates, install them in your email client and start communicating using secure email.
Links
Thawte Inc. Personal Email Certificates: http://www.thawte.com/secure-email/personal-email-certificates/index.html
Enigmail Project: http://enigmail.mozdev.org/home/index.php
IRC Tutorial
IRSSI Tutorial
Leet: http://en.wikipedia.org/wiki/Leet
Ekiga Behind a NAT Router: http://wiki.ekiga.org/index.php/Ekiga_behind_a_NAT_router
Session 03 (Sept 18 - Sept 24) - Browsers, WWW Downloaders
Lecture
- Browser Overview
- File System Browsers
- The HTTP Protocol
- Web Browsers
- Plug-ins and Add-ons
- Privacy and Security
- XML Feeds
- Text-Only Browsers
- WWW Downloaders
Software Covered
- Mozilla Firefox
- Konqueror
- Epiphany
- Opera
- Lynx/Elinks
- wget
- httrack
- Downloader
Class slides: http://cs.senecac.on.ca/~mheidenr/lpt730/notes/LPT730_Session_03.odp
Lab #3
Research and blog about the following topics:
- Phishing - what is it and what tools do we have to defend ourselves?
- Robot Exclusion Standard - what is it, weaknesses, example robot.txt configurations.
Try to make your posts at least 350 words each, properly referencing your sources. Provide examples whenever possible. There is no need to title the post with the course code or lab number - simply title them according to the topic.
Links
TBA
Session 04 (Sept 25 - Oct 1) - Productivity Tools
Lecture
- Productivity Software Overview
- OpenOffice and KOffice
- Other free alternatives
- Desktop Publishing
- Specialized Editors
- Linux Man Pages
- Project Management Software
- Financial Software
- Revision Control
Software Covered:
- OpenOffice
- KOffice
- AbiWord
- Ted
- Scribus
- LyX
- gLabels
- ManEdit
- vi
- Screem
- OpenProj
- TaskJuggler
- jGnash
- GnuCash
- RCS
- man
- apropos
Class slides: http://cs.senecac.on.ca/~mheidenr/lpt730/notes/LPT730_Session_04.odp
Lab #4
Part A
1. Using freely accessible sources obtain historical prices for a major stock index (for example TSX - http://ca.finance.yahoo.com/q?s=^GSPTSE). Download the last 30 days as a csv file to your local computer.
2. Using OpenOffice Calc, use the downloaded data to generate two charts - one showing a daily open/high/low/close breakdown using a candlestick (or similar) approach and one showing daily volume using bars.
Please make sure that your charts are scaled properly, so they are easy to understand with labelled axis. Once completed, submit your spreadsheet via email to your professor.
Part B
Using tools of your choice, create a man page for the vicky game on matrix.
Submit the file via email for grading.
Links
TBA
Session 05 (Oct 2 - Oct 15) - XHTML and CSS
Lecture
- XHTML Fundamentals
- The W3C Validator
- Cascading Style Sheets
- XHTML Editors
- Automated HTML Generation Software
- Content Management Software
Software Covered:
- vi
- Bluefish
- Jalbum
- tidy
Class slides: http://cs.senecac.on.ca/~mheidenr/lpt730/notes/LPT730_Session_05.odp
Lab #5
Using Linux editors, create an HTML pages on one of the following topics:
- Your hobby
- Your pet
- An issue or cause you are passionate about
- A memorable trip you have taken
- A book you recently read
Your page must fulfil the following requirements:
- It must validate as XHTML Strict
- It must use CSS
- It must have at least two paragraphs
- It must include at least one picture and one hyperlink to a related Internet resource
Submit the completed page and its support files via email as a single zip/tar file by the due date. Make sure that the page renders correctly after uncompressing.
Links
W3C Markup Validator: http://validator.w3.org/
XHTML 1.0 Strict Template: http://cs.senecac.on.ca/~mheidenr/lpt730/notes/XHTMLTemplate.html
W3Schools HTML Tutorial: http://www.w3schools.com/HTML/
Session 06 (Oct 16 - October 29) - Web Forms, JavaScript and DOM
Lecture
- Web Forms
- Client-Side Scripting using JavaScript
- Document Object Model
- JavaScript Tools for Linux
Software Covered
- Aptana Studio
- Firebug
- Venkman JavaScript Debugger
- Firefox DOM Inspector
Class slides: http://cs.senecac.on.ca/~mheidenr/lpt730/notes/LPT730_Session_06.odp
Class example: http://cs.senecac.on.ca/~mheidenr/lpt730/notes/lpt.html
Lab #6
Using HTML, CSS and JavaScript create a unit conversion calculator. Your calculator will convert between the metric and imperial (British) systems in both directions and must be capable of handling at least two measure units. Additionally, your calculator page will have a dynamically-maintained log, recording each conversion for a given session. Please make sure that your page uses valid XHTML markup according to the W3C Validator.
Attempt to use some of the software tools introduced in class to complete this lab.
Feel free to blog about your experience with them, regardless whether you are new to programming, or if you have experience with some other IDE software.
This lab can be completed individually or in teams of two students.
Assignment #1
Using XHTML, CSS, JavaScript and appropriate Linux tools, create a game of Blackjack. Although the implementation is largely up to you, your assignment needs to follow the guidelines below:
- Your game should keep a score - give the player a credit at the beginning, where a portion will be wagered with each game. Winning a game should increase the score of the player.
- Your game should reflect reality - cards should appear in a random fashion, each card can appear only once in a deck etc.
- Your game must use card images. You can create your own, or use a deck created by someone else. Free images are available at: http://www.brushes.obsidiandawn.com/sets/playing-cards.htm
- Attempt to make the game visually-appealing - use colours and lines/boxes at the very least.
This assignment is to be completed in a team of two students, it is worth 10% of your course grade and is due on November 5 at 11:59 p.m. Submit your completed work via email and feel free to blog about this assignment and post it for other to see.
An example to get you started is available: http://cs.senecac.on.ca/~mheidenr/lpt730/notes/example.html
Links
Aptana Studio: http://www.aptana.com/
W3Schools JavaScript Tutorial: http://www.w3schools.com/js/default.asp
FSOSS and Study Week (Oct 20 - Oct 24)
Assignment 1 Work (Oct 28)
Midterm Test - Part 1 (Oct 30)
Games (Nov 4)
Session 07 (Nov 6 - Nov 12) - Finding and Moving Files
Lecture
- Path Environment Variable
- File System Searching
- Copying Files Over Network
- SFTP
- Secure Backups
- Internet File Searching
- Peer-To-Peer Protocols
- Peer-To-Peer File Sharing
Software Covered
- find
- locate
- scp
- sftp
- gFTP
- transmission
- ktorrent
- vuze
- amule
Class slides: http://cs.senecac.on.ca/~mheidenr/lpt730/notes/LPT730_Session_07.odp
Lab #7
Part 1: Post a blog entry comparing peer-to-peer distribution using .torrent files and magnet links. Explain advantages and disadvantages of each approach.
Part 2: Create a BASH shell script called backup. This script will backup all files in user's home directory that were created or changed within the current day as a single compressed tar file in a ~/.backup/ directory. Each backup file name will be the current date. If a backup file exists already it will be overwritten without prompting.
Lab Submission: Submit the lab via email - include a URL to your blog entry and attach the shell script.
Links:
TBA
Session 08 (Nov 13 - Nov 19 ) - Graphics Software
Lecture
- Image File Formats
- Digital Camera and Scanner Support
- Image Editing
- Image Conversion
- Image Library Management
- Dynamic Image Generation
Software Covered
- Exiv2
- Jhead
- Exempi
- Gphoto2
- Xsane
- gscan2pdf
- GIMP
- Inkscape
- ImageMagick
- F-Spot
- digiKam
- GNUPlot
Lab #8
TBA
Links
GNUPlot 4.0 Tutorial: http://www.duke.edu/~hpgavin/gnuplot.html
Midterm Test - Part 2 (Nov 20)
Assignment 2 Work (Nov 25)
Session 09 (Nov 27 - Dec 3) - Multimedia Software
Lecture
- Audio Formats
- Audio Editing
- Video Capture and Editing
- DVD Authoring
Software Covered
- xdvi
- mplayer
- VLC Player
- Miro
- Audacity
- dvbcut
- Cinelerra
- dvdauthor
- DVDStyler