![]() | ![]() Fall Semester 2006 |
Mon Dec 11
Sun Dec 10
Fri Dec 8
Thu Dec 7
Fri Dec 1
Wed Nov 29
The survey was unanimously in favor of a project-oriented final.
Here's the source for an older
SQL set of notes.
Tue Nov 28
Tue Nov 21
Here's where you can play with it.
Notice that it generates a shuffled list, then extracts elements one by one, untilit runs out of them.
Wed Nov 8
The demo server now contains basic instructions for all things you need to turn in.
Basic general overview message sent to the class distribution list.
Tue Nov 7
Wed Nov 1
Date: Wed, 1 Nov 2006 14:28:51 -0500 (EST) From: Adrian German <dgerman@cs.indiana.edu> To: A348/A548 Fall 2006 Distribution List <dgerman@indiana.edu> Cc: Shakila Shayan <sshayan@cs.indiana.edu>, Adrian German <dgerman@cs.indiana.edu> Subject: a348/a548 update Dear A348/A548 Friends, Welcome to the month of November. I will be distributing/returning exams tomorrow in class, if you want to come and pick them up. Tomorrow we will also look at one of the most exciting of the more recent web technologies OpenLaszlo, http://www.laszlosystems.com/ and click on OpenLaszlo 3.3, in the right bottom of the main window, to read about it. OpenLaszlo is an application development suite, that comes with a language based on Javascript and XML. Using a combination of Javascript and XML, any so-called AJAX application runs in a browser and can connect asynchronously to the server to collect more data than can be displayed in the current web page. Google was the first to popularize this strategy with their Gmail and Google maps applications. However Microsoft Internet Explorer already had the XMLHttpRequest object in its version 5, and seasoned developers were making use of this technology in various specific ways already. OpenLaszlo applications produce DHTML (Javascript and XML) as an AJAX app. or can compile into a Flash file. Essentially you can produce Flash output without having to use Flash to develop the code. There are many uses for this technology (in addition to the fact that it looks good on the web): you can write animations, play MP3 files, create e-commerce applications, develop web services clients, etc. This presentation is not included in the text, it's in the category of what we add new to A348 every semester (every semester something's brand new in A348/A548 and this semester this section is it). This is the right time in the course to discuss it too, since it is based on Javascript (which we have started yesterday,) and relies on Tomcat for server-side support. We will install Tomcat next week so we can program Java servlets and JSP, so it's good to see that Tomcat has other uses in addition to those that we had already planned. See you tomorrow. If you have any questions or need any help please let me know. Tomorrow I will also distribute semester projects guidelines. ... Adrian
Sat Oct 28
Thu Oct 26
Here's also a basic python/cgi discussion with mysql access from python/cgi.
Of course you need to have a database set up (here's the minimal example shown here).
Also: a very short detour on using Python for web scripting.
Tue Oct 24
The lab will help with Homework Three.
Wed Oct 18
Date: Wed, 18 Oct 2006 12:32:36 -0400 (EDT) From: Adrian German <dgerman@cs.indiana.edu> To: A348/A548 Fall 2006 Distribution List <dgerman@indiana.edu> Subject: A348/A548: midterm exam tomorrow Dear A348/A548 friends: The midterm is in class tomorrow: open-book, no laptops or electronic devices but bring whatever you want to bring (source code, print-outs etc., anything you think you need to refer to). The exam is individual work, so you can't communicate with anybody. The exam will ask you to solve a problem like the examples we worked in lab last week (page 66 in the text) or yesterday in class (posted on What's New?, all four versions). You will turn in the design in class, in written form, pseudocode or flowchart, or actual code. Your choice: PHP or CGI, with sessions or hidden fields. The design needs to be complete, without any ambiguities, that is, it must be such any programmer could start coding without having to make any design choices, only coding and implementation choices. If you are in doubt, try to provide as much actual source code as possible. We will collect the blue books and will give them to you in lab, where you will have to implement your design. You need to match as much as you can the design you submitted in writing. If there are mistakes: fix them. If all is well with your design you will be the first to know. When you are done (hopefully by the end of lab) post your implementation in protected. After lab we collect the blue books and grade them. The grade for the exam is 60% the written test, 40% the coding in lab. The grades should be up by Monday next week. Also, in about a week your should finish implementing the exam problem in all ways we studied so far: PHP, CGI with state on the server or on the client side. I will start sending individual messages now. I encourage everybody in the class to come to the exam, and take it, no matter how far behind you might think you are. There's still plenty of time for anything and everything. Please let me know if you have questions or concerns. If you received this message in error (you dropped, or appear on my list by mistake) or if you otherwise want me to remove your address from this list please let me know. ... Adrian
Tue Oct 17
The last one will be revisited next Tuesday (we finished it completely at 2:19pm).
Mon Oct 16
Homework Two and Four are past due.
Homework Five and Three are to be turned in.
Thu Oct 12
Program to be discussed in lecture today (source code).
Sample midterm transformations:
They will be discussed in lab today and tomorrow.
Wed Oct 11
Lab this week will show you how you write it and transform it in four different ways.
Mon-Tue Oct 9-10
Wed Oct 4
Let's make Lab Seven based on 11.3 (page 74). Lab Six plan: a) go in your mysql as admin and change the password, get out b) go in with the new password, create account for you, log out c) go in as you and create a database, plus one table in it d) insert, delete data in the table, describe then drop the table e) log out, write a program to re-create the table f) write and ru program to insert data from file into table g) go into mysql and run queries on the data in the table h) write two cgi scripts that use embedded sql to post query output i) say this is all we need to get started with homework five j) first clue on homework five: 11.1 (p. 67) explain, run k) second clue on homework five: 11.2 (p. 69) explain, run I will provide the code so you can cut and paste perhaps with some changes or maybe in this format (see entry for Oct. 28 below): http://www.cs.indiana.edu/classes/a348-dger/fall2004/whatsnew.html Homework Three, Four and Five to be posted tonight along with a few more web notes. Also, I need to contact students to make sure they're aware of the midterm coming up. I will discuss the old midterm next week, so we're entirely aware of it (p. 66). ... Adrian
Tue Oct 3
At this stage the difference between server-side and client-side state maintenance should be clear.
Tue Sep 26
Thu Sep 21
I will come straight to lecture and will be available after it.
Wed Sep 13
~.bashrc
file:
Set up the password protected directory as indicated in the text.bash-3.00$ cat ~/.bashrc EDITOR=nano export EDITOR MYSQL_HOME=/nobackup/dgerman/mysql export MYSQL_HOME PATH=/usr/local/gnu/bin:/bin:$PATH:/home/user1/mysql/bin export PATH PATH=/l/jdk/bin:$PATH export PATH JAVA_HOME=/l/jdk1.5 export JAVA_HOME CATALINA_HOME=/u/dgerman/apache-tomcat-5.5.17 export CATALINA_HOME CLASSPATH=.:$CATALINA_HOME/common/lib/servlet-api.jar:~/programs/jdbc/mm.mysql-2.0.2-bin.jar export CLASSPATH bash-3.00$
Use this to start your password file:
You can enter my protected folder with lbird/dribl (shown in the book).dgerman:UIaTPpE.ZpwHw
The other password you should not know. You can create new users, too.
Wed Sep 13
Here's the program we ended yesterday's class with:
Thursday 2:15pm-3:15pm LH201D Wednesday 11:00am-12:00 LH201D
#!/usr/bin/perl use CGI; $q = new CGI; print $q->header, $q->start_html; $score = $q->param('score'); $message = $q->param('message'); if ($message) { $score += 1; $message = "You have clicked me $score times. "; } else { $score = 0; $message = "You have clicked me $score times. "; } print qq{ $message <p> <a href="?score=$score&message=$message">Click me!</a> }; print $q->end_html;
Tue Sep 12
Thu Sep 7
Wed Sep 6
To make your archive available:
chmod ~ 711 chmod 755 ~/public chmod 644 ~/public/whoa.tar.gz
Tue Sep 5
Reading assignment for this week: pp. 21-32 in the text.
Thu Aug 31
Wed Aug 30
In lab we start installing Apache and practice with Unix (Linux).
Tue Aug 29
silo
accounts created, first lecture today in LH102. Here's how our class appears in the IU Course Browser.