Cpts224logo.gif


Home

Syllabus

Notes

Homework

Grades

November 9, 2009

Wednesday we will have NO CLASS due to the Veteran’s Day holiday.

Homework #7 is now out on shell programming.  It is due Friday November 20 at 5pm via ANGEL.

FYI here is some of the stuff that has been going on lately with our power grid plus data delivery middleware research.  There will very likely be much more announced in early January…

Thursday I have to cancel my office hours due to hosting 6 visiting researchers from the European Community (Germany, Italy, Poland) who will be collaborating with our GridStat project.  Please email me if you need to see me this week and we can set up an appointment.  Please also attend the seminar if you can Thursday, which will be announced later today and probably at either 9am or 10am that day.

Today we will review the core of what we have covered after the midterm (filters, awk, shell programming) to answer any questions and clear up any misunderstandings, then possibly start on Perl.

November 3, 2009

Tomorrow we will continue on shell programming.  Please be sure to check out the online code in the directory “02-04NovDir” under the FALL09 directory on ssh-server….

If you have any questions about HW5 grading (or others), please email the TA via ANGEL.

Some of you asked for an example of the punctuation question from HW5:

5. Find all of the punctuation marks used in the poem, and give a count of the number of occurrences of each. (Hint: you can do something similar to the "tr + sort" word count example.)

Here is one possible way to do it (there are others!)

tr a-zA-Z " " < jabberwocky.txt | sed 's/\([!-]\)/\1 /g' | \

tr -s " " '\012'  | sort | uniq -c | sort -n

Output:

              1 :

      1 ?

      2 ;

      2 '

      3 -

      4 "

      5 .

     11 !

     15 ,

 Explanation:

·         The tr gets rid of all the letters (replaces them with spaces).

·         The sed adds a space after ‘!’ or ‘-’, to handle double characters.

·         The tr -s turns whitespace into newlines.

·         The sort | uniq | sort generates the count.

·         It doesn't mater whether they sorted in ascending or descending order.

 

November 2, 2009

Today we will have more on source code management (scm), then start on shell programming. 

There will be no homework assignment on scm, but I expect you to look into it a little more than what we lecture on.

October 28, 2009

Today Aaron Crandal is discussing source code management (scm).  This is testable!

October 26, 2008 REDUX

Homework #6 is now available.

October 26, 2009

Today we will finish awk.

Homework #6 (on awk) will be given out via this web page later today; it will be due Monday November 2 at 10am.

Office hours notes:

·         Today my office hours are 3-4, not 9-10, due to visitors from the Dept. of Energy

·         Thursday my office hours are cancelled ... I am on a trip back east.  I will be reachable by email most waking hours (you have to do something in meetings besides listen to the speaker!!!)

October 21, 2009

Today we will finish filters and start on an awkward subject: awk.

October 19, 2009

There are some more options and pattern primitives that you will be responsible for knowing; I have updated the filters notes with them at the end.

October 16, 2009

A number of you have not completely turned in some homework assignments 2-4 via ANGEL.  That is to say, you did a partial submission, but the upload did not get there or got corrupted etc.  Since you have evidence of having submitted in time, we are going to be quite lenient.  I will email individuals shortly, but please submit this ASAP.

James (from the 11:10 section) had a good observation (kudos to James!):

A person asked in class if he could just search for 1 to 3 of a character in a word.  Here’s how I search for 1 to 3 consecutive ‘t’ characters in a  word.

grep –n –E ‘\b[^t]*tt?t?[^t]*\b’ filename

Explanation:

We use the extended regex engine (-E), which is the same as calling egrep.

\b :  enclosing in  a ‘\b’ block looks for the pattern in words

We first look for zero or more characters that are not ‘t’, then a ‘t’ character.  This is the 1 or first t.  Then we look for  zero or 1 ‘t’ chars, this is the possible 2 or second ‘t’, then zero or 1 more ‘t’ char, this is the 3 or third ‘t’ character.  Then we look for any sequence of non-‘t’ characters in the word.

If you remove the ‘\b’ delimiters, then you search without restricting to word boundaries, but still will only fire on a sequence of 1-3 ‘t’s.

We will discuss this in class Monday.  Its not quite the ideal functionality (at least ideal if it did not result in too contorted syntax for the pattern), which is something like this for finding x-y copies of pattern:

ssh-server% egrep (pattern)x-y

Of course, there is no exponentiation operator (superscript font) for the shell, and a likely one, '^', is already taken.  So the above would be cool if it was not way too cumbersome to express in text.  And note that pattern could use other egrep operators (e.g., '(pat1|pat2)'), which is even more powerful.

Also, a companion to grep is agrep ("approximate grep": handles "close" calls), which you can read about more here.  This is not testable, its just FYI.  Kinda fun: that was done at U. Arizona when I was a doctoral student there.  It or its successors may be of use and/or interest to some of you.

Finally, a question on Homework #5 item #1 was asked by email.  It is not a problem if there is nothing that matches in the poem (or if the pattern is even legal English), just give the pattern that would match that.

Have a great weekend!  I hope the Vandals win, and I am convinced to my core that WSU will not lose its football game this weekend.

October 14, 2009 redux

To access the example files and commands I have done in class, do the following:

ssh-server% cd  ~cs224/test

In that directory, you will see a directory FALL09 where the most current examples will be, including a directory for each day (eg., 14OctDir).  You are welcome, however, to poke around all of the other years examples, however, though they will be mostly identical and those that are not will be very close to this year's.

October 14, 2009

We reviewed the midterm exam on Monday.   I have decided that, because the midterm had to be a week earlier than usual, I am going to split the 40% of the grade allocated to exams unevenly: the midterm will count for 15% and the final 25%.  The midterm will not be curved per se, but the course will likely be somewhat (note the syllabus says the grades will "probably" be like what I listed; that weasel word is there for a reason).

Today we will start on the meat of the course, starting off with filters.  Homework #5 is now out; it is due at 1159pm on Thursday October 22.  We won't cover everything needed to do this assignment until next Monday, but you can get started on it if you like.

September 30, 2009

NOTE: there was an error in the syllabus.... the final exams will be at the following times:

·         Section 1: Tuesday December 15 8:10-10:00am

·         Section 2: Monday December 14 3:10-5:00 (this was reported wrong earlier).

Today we will cover debug macros then review for the midterm.

Next Monday October 5 you will have a lab session (no lecture).  Wednesday October 7 will be the midterm exam.

Homework #4 is now out; it is due Monday at 5pm.

September 28, 2009

Today we will cover more on debugging.

September 23, 2009

Today we will return HW1 hardcopy (hopefully the last hardcopy we send either direction this semester), go through a Makefile example, and coding for [sic] debugability.

In the ANGEL system, a "dropbox" has been created for you to submit Homework #2.  When logged onto ANGEL, click the "lessons" tab at the top and you can find a dropbox called "HW2".

This is due Friday at 5pm, so please those done with it please submit ASAP so we know if we are going to have any glitches.

Homework #3 is out now.  It is due via ANGEL on Monday September 28 at 5pm.

September 22, 2009

Dear Class,

Here is more info about the ANGEL system that we will be using for online submission starting with HW2 and also for keeping grades (and notifying you of when your assignment is graded etc.

1.    Browse to: http://lms.wsu.edu// and use your student Network ID (same as what is before your @wsu.edu address), and your Network ID password to get into Angel, you will see your courses listed in the courses module or nugget. (Click here for a 9 minute video walk-through of Angel or download iPod version)

If don't know or have a Network ID yet, or you want to reset your password, you can go to the MyWSU portal to create one or look up your existing ID (using your student ID on the cougcard): http://my.wsu.edu/.

Angel forwards all email ONLY to WSU’s brand new student email system, Outlook Live. You can go to the my.wsu.edu portal to set yours up.

Please avoid special characters like !@#$%^&*( in file names when you upload documents to Angel, as well as compress the images and files in your assignments and discussion postings.

Also, our fearless TA Haiqin will be creating a "drop box" by which you can submit HW2.  That is not set up yet, but hopefully will be later tonight.  We will discuss this first thing in both sections tomorrow.

NOTE that any email to you will be sent to your new WSU email address.  If you do not regularly use that, please set it up to forward to the email address you check often.

ANGEL has many features we will not be using in this class, specifically this blog will be where assignments are given, lecture content is pointed to, etc.

Please try to set up the email above before class tomorrow if possible.

September 21, 2009 REDUX

PLEASE look through the Makefile example below (and the simple C program it is used with) by Wednesday and think about it.

NOTE: the examples files I use in class are here.  (This is a symbolic link to here from my 224 file in my home directory ("~/224", a symlink) that you see me use on machine ssh-server.eecs.wsu.edu.

A good example of using a Makefile on small program with a few .c files is enum.  You can download the file enum.tar via the web, or on ssh server copy it:

ssh-server %  cp ~cs224/public_html/test/enum.tar .

Either way, you have a file enum.tar.  To unpack it go:

ssh-server % tar xf enum.tar

This will create a directory called "enum", so if that already exists tar will complain.

(As you may have guessed, tar is a program that bundles up files, much like WinZip and others do on Windows .)

But after you have the directory called "enum" created, you can go there and build the tiny program with make, edit a .c file (or use "touch" to update its modify time) or delete a .o file; then practice calling make to rebuild the program, see what it does.

The Makefile there is a nice simple example.

September 21, 2009

Today we will continue on using the shell and possibly start on make.

September 16, 2009

Homework #2 is now out, it is due online (details forthcoming) at 5pm on Friday September 25.

Today we will practice and hopefully finish using the shell.

Here are my office hours (when not on travel or ill; my office is EME 55):

·         Monday 9:10-10:00

·         Thursday 10:10-11:00

If you cannot make one of these, please email me for an appointment.

September 14, 2009

As you all know, last Monday was Labor Day and Wednesday I was out sick (per email via the class registration system).  So you had 12 days without me: such luck!

Today we will finish on the file system and start on using the shell.

September 2, 2009

Today we will start on the file system.

Slight change in schedule: the midterm exam is still on Wednesday Oct 7.  However, the review for it will be the Wednesday before that, September 30, where Homework #4 on the shell will be given out.  Monday October 5 we will have no lecture, you will have lab time (at any Unix machine you choose) for HW4.

August 31, 2009

Today we will hear from the WSU Linux User's Group (LUG) and also learn some about the IEEE and the ACM.

We will also practice some the basic commands.

Homework #1 is now out.   It is due in class on Wednesday Sept 9.  For this first simple assignment you will just turn in a hardcopy, later ones we will use the ANGEL system.

Here is an update on Unix Copyrights from James:

Just an update on Unix copyrights ownership.  From 2007 to a few days ago, Novell had been granted the rights.  This was just reversed and the courts will take up the issue of whether SCO or Novell should own the rights.

http://spectrum.ieee.org/blog/computing/it/riskfactor/who-owns-unix

http://www.groklaw.net/staticpages/index.php?page=20070810205256644

I used to attend UC Santa Cruz and SCO and Borland were the main employers for computer science students there.  My understanding was that SCO stopped producing products and became a holding company for patents and licenses related to Unix.  They are currently in Bankruptcy proceedings and have been ordered to liquidate.  In an article I read, SCO’s CEO Darl McBride said he planned to collect license fees from companies who use Linux if they win.  I’m guessing MS would love that move.

Thanks for the update, James!

August 26, 2009

Today we will go over the basic commands.

Note to students who want to officially transfer from Section 1 (10:10) to Section 2 (11:10) .... Patricia has locked registration until next week to check prerequisites, so you will not be able to officially come until then.  But just come to the section you need to be in and I will pass around a list today.

August 24, 2009 Redux

Folks, those of you who need to officially transfer to Section 2, the limit should be increased from 33 to 46 shortly.  Please just come Wednesday no matter what and we will sort it out.

The server that is Linux is at ssh-server.eecs.wsu.edu ... you can use any ssh program such as putty to get into there.

August 24, 2009

Welcome to the Fall, 2009 semester! Whenever there is an update to the site, an interesting item to link to, or any sort of news update relating to the class, it will appear on this blog.

Today we will go through the course syllabus and Introduction.