Thursday, July 10, 2008

Second Grad School Hurdle, or, There's a Light At the End of the Tunnel

It turns out my undergrad computer science GPA in the CSUS core course equivalents doesn't reach the magic number of 3.25 that's needed to enroll in the grad school program and take the core grad school courses. So, this fall and next spring, I plan to take CSc 137, "Computer Organization" and CSc 130, "Data Structures and Algorithm Analysis," respectively, to get there.

This bumps my targeted grad school enrollment date out to Fall 2009--I'll get there, and I'll be stronger for it.

I think I have all the bugs worked out of the enrollment process now, and am feeling confident about the plan going forward. Dr. Cui Zhang, CSUS graduate coordinator, has helped a lot with the questions I've had.

Bears

The range of emotions:
  • Cozy bear
  • Care bear
  • Bubbly bear
  • Happy bear
  • Tired bear
  • Cranky bear
  • Grumpy bear
Or so our neighbor says

Tuesday, July 08, 2008

It's All About the Benjamins

As a graduate student, I can expect to pay $1,383.00 for up to six credits of class-work per semester.

As an Open University student, I can expect to pay $480 for one three-credit class ($160/unit).

However, I can only take one more class as an Open University student and expect to apply it to my graduate degree, as they cap the number of credits at six. Thankfully, CSc 201 represents a three-unit class.

Hiccup in Graduate Planning

I met with Dr. Cui Zhang at CSUS on Monday afternoon and together we dusted off my transcript from the University of Wisconsin-Eau Claire. Dr. Zhang informed me that the CSUS Computer Science graduate program requires students to take a course in Computer Organization (CSc 137 or equivalent)--one of the few classes I did not take during my undergraduate career. She encouraged me to continue preparations for the October 1st application deadline, with the expectation of admission as a conditionally classified student.

This evening, I discovered that CSUS offers CSc 137 this fall, but it conflicts with normal business hours: Dr. Faroughi teaches it every Tuesday/Thursday from 9:00 AM--1:00 PM (class from 9:00 AM--10:15 AM, then lab from 10:30 AM--1:00 PM). So, I'll have to discuss the possibility of accomodating this class with my employer.

The Los Rios Community College District offers an equivalent, transferable course, CISP 315, "Introduction to Computer Architecture and Design," but only in the spring.

Dr. Zhang recommended taking up to two core graduate-level classes this fall (she shared most students take two out of financial efficiency):
  1. CSc 201: "Programming Language Principles" (C. Zhang, M/W, 5:30--6:45 PM)
  2. CSc 204: "Data Models for Database Management Systems" (B. Mitchell, T/Th, 4:00--5:15 PM)
  3. CSc 205: "Computer Systems Structure" (B. Arad, T/Th, 5:30--6:45 PM)
  4. CSc 206: "Algorithms and Paradigms" (C. Wang, M/W, 4:00--5:15 PM)
  5. CSc 209: "Research Methodology" (C. Zhang, T, 7:00--7:50 PM)
From an e-mail Dr. Zhang sent out on May 7, it seems waivers do exist:
csc204 and csc205 Waiver Tests
==============================
For those of you who wish to get the core course csc204 and/or
csc205 waived, there are once/semester waiver tests for you
scheduled each semester about one week before school starts.
For Fall 2008, the two tests will be given on Monday Aug. 25,
2008 at noon in RVR-2018. Please mark your calendar if you wish
to waive csc204 and/or csc205 and I'll see you on Aug.25 at noon.

Saturday, July 05, 2008

University Professor Web Pages

This evening I browsed through the personal web sites of full-time faculty at the California State University at Sacramento (CSUS) and the University of California at Davis (UC-Davis).

As a first impression, the personal faculty web sites at both campuses scared the hell out of me.

The winners of best web sites, in my opinion:
Notables:
Profs that care:
Fun:
Oddities:
What I liked: professional picture, clean layouts, pictures of the instructor with students

A point of irony: the CSUS department's 2006-2007 assessment report lists "Communication skills and interpersonal skills" as an essential skill on page two.

A second point of irony: UC-Davis has six people (other than Dr. Staadt and Dr. Ma) whose stated interests involve computer graphics, animation, or visualization: 1, 2, 3, 4, 5, 6--yet their web sites remain woefully primitive, in my opinion.

The serious takeaway: It's all-too-easy to mock people's weaknesses, and I hope this attempt at humor comes across as just that--these people are probably all outstanding in their fields (no pun intended), great people, and great instructors. Yet, if faculty fail to communicate clearly using the most widely available medium available to them, how can we inspire students to do so? This isn't a new phenomenon--the CS faculty web pages of my alma-mater haven't improved that much since I graduated in 2000 (even the resident computer animation expert).

CSUS Grad Courses Fall 2008

As a student taking graduate-level classes through the CSUS Open University program, I have these class options to choose from for Fall 2008 (assuming I can waive the prerequisite CSC 205 course--which requires fully classified status to take):
  1. CSC 239 (Chang W.). Advanced Operating Systems Principles and Design. (AVAILABLE FALL 2008; PRE: CSC-205)
  2. CSC 242 (Arad B.). Computer-Aided Systems Design and Verification. (AVAILABLE FALL 2008; PRE: CSC-205)
  3. CSC 255 (Ghansah I.). Computer Networks. (AVAILABLE FALL 2008; PRE: CSC-138)
  4. CSC 273 (Arad B.). Hierarchical Digital Design Methodology. (AVAILABLE FALL 2008; PRE: CSC-205)
The other graduate-level classes offered:
  1. CSC 201. Programming Language Principles.
  2. CSC 204. Data Models for Database Management Systems.
  3. CSC 205. Computer Systems Structure.
  4. CSC 206. Algorithms and Paradigms
  5. CSC 209. Research Methodology
  6. CSC 233. Advanced Software Engineering Project Management.
  7. CSC 234. Software Verification and Validation.
  8. CSC 235. Software Architecture.
  9. CSC 252. Cryptography Theory and Practice.
  10. CSC 254. Network Security.
  11. CSC 280. Advanced Computer Architecture.
require fully-classified graduate level status. CSUS might offer waivers--I'm not sure yet.

Two other classes that seem interesting:
  1. CSC 133. Computer Graphics
  2. CSC 165. Computer Game Architecture
On Rate My Professors, W. Chang he gets a 2.1--but only from undergrad-courses. The web site fails to list any other professors. Helpfully, his web site shows a Mac icon beating down a Windows icon. The web site fails to list anything about Arad or Ghansah.

PickAProf.com rocks--it lists the grades given by a prof. It doesn't seem as popular though, in terms of reviews, even though it started in 2000.

Teacher Ratings

How awful (I laughed, I cried):
"My will to study computer science has been completely destroyed."
This evening I'm reviewing CSUS prof ratings and deciding which class to take for the fall semester--this comment popped out.

GRE

Gearing up to take the GRE before the October 1st (88 days) Sac State application deadline so I can get in for the Spring 2009 semester. Hopefully by 2011 I'll have my Masters degree.

Amby provides a slew of links: http://amby.com/GRE/.

Steps to reach my goal:
  1. Meet with CSUS department representative and discuss whether I meet all outstanding requirements
  2. Achieve GRE scores of:
    600 on the Verbal Reasoning (85th percentile)
    750 on the Quantitative Reasoning (85th percentile)
    5 on the Analytical Writing Score (96th percentile)
  3. Complete and submit paperwork
I initially put up more aggressive targets, but then I realized that I'm not going to have as much time as I want to prepare for the GRE. The CS grad program at CSUS seems to use the GRE as a comparison benchmark against other applicants for the semester--they seem to care more that applicants have the proper foundation.

My thought at this point is: test early, test often to get a sense of where I'm at.

Hikes

The attendant at Smog Busters shared several locations for hikes involving waterfalls in the Northern California area:
  1. Bassi Falls (Pollock Pines, El Dorado National Forest, El Dorado County)
  2. Feather Falls (Oroville, Feather Falls Scenic Area, Plumas National Forest, Butte County)--"Outside of Yosemite, this is maybe the best waterfall in California."
He says Spring represents the best time to hike since the water flow reaches its peak. He also recommended http://waterfallswest.com as a resource.

I asked him if he had hiked the Stevens Trail and he said no.

The Waterfalls West web site looks like a ripe place to host a wiki (ala http://wikitravel.com).

2008 Sacramento Japanese Film Festival

We missed the 2008 Sacramento Japanese Film Festival event due to pressure from finals week.

The list of movies screened that I hope to view at home in the future:
  1. Always – Sunset on Third Street
  2. Hot Summer Winds
  3. The Slanted Screen
  4. Rashomon
We both enjoyed the 2007 Sacramento Japanese Film Festival event

Article in the Sacramento Bee: http://www.sacbee.com/121/story/939671.html

Friday, July 04, 2008

Radio Songs

Listening to KDVS 90.3 on my morning commute on Thursday, I heard this song at 7:30 AM:

Sri Lanka-based Fonseka's "Kapirigna" on the 1995 compilation album "The Secret Museum of Mankind, Volume One," on the Yazoo label. You can hear it around the 90-minute mark on the KDVS "Swamp Bass" stream here: http://www.kdvs.org/listen/m3u/show_id/446/date/2008-07-03. Reminds me of the Cajun/Zydeco exuberance.

Listening to KYDS 91.5 this evening I heard Kingston, NY-based Coheed and Cambria's "Delirium Trigger" from their 2002 album "The Second Stage Turbine Blade" on the Equal Vision and Defiance labels. Video.

Sunday, June 29, 2008

Supi Udupi

After the movie, we visited Udupi Indian Restaurant on Sunrise: http://www.vegguide.org/entry/3814. I ordered the deluxe dinner, which had a smattering of everything. Minimalistic interior, but outstanding staff and a wonderful feast.

Flight of the Red Balloon

I enjoyed the long takes of this film--some as long as eight minutes. All dialogue's improvised. So much of the movie takes place within Suzanne's (Juliette Binoche) apartment that by the end I felt very much at home there--it's a cozy, bohemian Parisian loft, with an abundance of books and scattered items. When Simon went to "have a go" on his Playstation, I wanted to know what game he played. The poster on the back of the door advertised "La Ballade de la Mister Punch", a tribute to the Punch and Judy puppet show. The movie seems as though it's from Song Fang's perspective--unjudging, attentive, thoughtful, cozy. Song adapts and becomes the calm in the middle of deteriorating relationships--Marc, the downstairs tenant, who hasn't paid rent in over a year; and Pierre, Simon and Louise's father who has abandoned his family to live in Montreal. The ending comes abruptly, amidst a teacher discussion in the Musée d’Orsay over Félix Vallotton’s 1899 painting of a child chasing a red ball, "Le Ballon." The movie fades away with the song "Tchin Tchin" (French for "cheers") by singer Camille. The movie also seems like it might document the view from Simon's perspective--adrift as he floats between school, home, the cafe where he plays pinball, and piano lessons. The home becomes a womb, but without Suzanne, it also seems somewhat empty. Suzanne comes and goes freely, in her words, "making everyone happy." The end of the film seems to document how much Simon's needs aren't getting met--Louise chooses to stay in Brussels to care for her great-grandfather, leaving Simon visibly upset (sleeping with his bear). Song, as the nanny, checks in to let him know she cares, but respects his grieving and lets him rest. Suzanne, slowly but successfully restoring order to the chaos left by Pierre's departure two years earlier, struggles to keep the threads of her family together. As I mentioned, the ending comes abruptly, leaving me wanting to see more--what happens next? The chemistry seems right for thsi family though--I suspect they turn out all right, between Suzanne's passion and Song's presence.

Even though we ate before watching this movie, I felt incredibly hungry watching it. Watching Song learn to make crepes, or Suzanne offer a biscuit, or Marc prepare vegetables, or a poured glass of wine--I couldn't wait to eat.

From left to right: ? (Chinese professor), Song Fang (Song), Louise Margolin (Louise), Juliette Binoche (Suzanne), Simon Iteanu (Simon), and Hippolyte Girardot (Marc).


New York Times review.
Village Voice review.

Below: I guess this is how they did it. I imagined elaborate wind machines, fishing line, and so forth.

Thursday, June 26, 2008

Fire

The sun looked like this on the way home:


(note: not my pic, and not a pic of Sacramento)

Living in California's Central Valley means smoke from fires flows down into the "bowl" where we live from the foothills to the east, west, and north.

A few years ago, the fires produced enough ash that it looked like a light snow dusting for 24 hours.

A co-worker told me yesterday that about eight years ago, she saw the wind creating billows of smoke.

I can't smell the smoke unless I drive with the window down.

Nothing threatening or scary--a relatively minor side-effect of living in one of the safest places on earth (no hurricanes, no tsunamis, no earthquakes, minor chance of floods, no tornadoes, no snowfalls, and so forth).

Sunday, June 22, 2008

Radio Songs

Heard:
Franklin, Tennessee-based Paramore's "Misery Business" from their 2007 album "Riot!" on the Fueled By Ramen label.

Garry Schyman's "Praan" from the "Where the Hell is Matt?" video: http://www.vimeo.com/1211060
I also have a new radio station that I'm listening to in tandem with KYDS (91.5): KDVS, 90.3, out of Davis, CA.

Friday, June 13, 2008

Festuca Idahoensis



Link: http://www.bluestem.ca/festuca-siskiyou-blue.htm

Picnics

Local parks:
  1. Arden Park (La Sierra Blvd)
  2. McKinley Park (Alhambra & H)
  3. William Land Park (Land Park Dr & Freeport Blvd)
  4. Maddox Park (Thor & Mission)
  5. Howe Park (Howe & Cottage)
  6. River Park (Carlson, across from Sac State)
  7. Arden Bar at the American River (End of Arden Way, East of Fair Oaks Blvd)

Sunday, June 08, 2008

Radio Songs

El Paso, TX-based Sparta's "Collapse" from their 2002 album "Wiretap Scars" on the Geffen Records label.

Lubbock, TX-native Joe Ely's "Slow You Down" from his 1993 album "Love and Danger" on the MCA Records label. From the May 31 recording of A Prairie Home Companion in Las Cruces, NM.

Homework, Sections 5.1 through 5.3

My solutions to the 2nd edition Dragon Book's Exercises for chapter five:

5.1.1 a, b, c: Investigating GraphViz as a solution to presenting trees

5.1.2: Extend the SDD of Fig. 5.4 to handle expressions as in Fig. 5.1:
  1. L -> E N
    1. L.val = E.syn
  2. E -> F E'
    1. E.syn = E'.syn
    2. E'.inh = F.val
  3. E' -> + T Esubone'
    1. Esubone'.inh = E'.inh + T.syn
    2. E'.syn = Esubone'.syn
  4. T -> F T'
    1. T'.inh = F.val
    2. T.syn = T'.syn
  5. T' -> * F Tsubone'
    1. Tsubone'.inh = T'.inh * F.val
    2. T'.syn = Tsubone'.syn
  6. T' -> epsilon
    1. T'.syn = T'.inh
  7. E' -> epsilon
    1. E'.syn = E'.inh
  8. F -> digit
    1. F.val = digit.lexval
  9. F -> ( E )
    1. F.val = E.syn
  10. E -> T
    1. E.syn = T.syn
5.1.3 a, b, c: Investigating GraphViz as a solution to presenting trees

5.2.1: What are all the topological sorts for the dependency graph of Fig. 5.7?
  1. 1, 2, 3, 4, 5, 6, 7, 8, 9
  2. 1, 2, 3, 5, 4, 6, 7, 8, 9
  3. 1, 2, 4, 3, 5, 6, 7, 8, 9
  4. 1, 3, 2, 4, 5, 6, 7, 8, 9
  5. 1, 3, 2, 5, 4, 6, 7, 8, 9
  6. 1, 3, 5, 2, 4, 6, 7, 8, 9
  7. 2, 1, 3, 4, 5, 6, 7, 8, 9
  8. 2, 1, 3, 5, 4, 6, 7, 8, 9
  9. 2, 1, 4, 3, 5, 6, 7, 8, 9
  10. 2, 4, 1, 3, 5, 6, 7, 8, 9
5.2.2 a, b: Investigating GraphViz as a solution to presenting trees

5.2.3: Suppose that we have a production A -> BCD. Each of the four nonterminals A, B, C, and D have two attributes: s is a synthesized attribute, and i is an inherited attribute. For each of the sets of rules below, tell whether (1) the rules are consistent with an S-attributed definition (2) the rules are consistent with an L-attributed definition, and (3) whether the rules are consistent with any evaluation order at all?

a) A.s = B.i + C.s
  1. No--contains inherited attribute
  2. Yes--"From above or from the left"
  3. Yes--L-attributed so no cycles
b) A.s = B.i + C.s and D.i = A.i + B.s
  1. No--contains inherited attributes
  2. Yes--"From above or from the left"
  3. Yes--L-attributed so no cycles
c) A.s = B.s + D.s
  1. Yes--all attributes synthesized
  2. Yes--all attributes synthesized
  3. Yes--S- and L-attributed, so no cycles
d)
  • A.s = D.i
  • B.i = A.s + C.s
  • C.i = B.s
  • D.i = B.i + C.i
  1. No--contains inherited attributes
  2. No--B.i uses A.s, which depends on D.i, which depends on B.i (cycle)
  3. No--Cycle implies no topological sorts (evaluation orders) using the rules
5.2.4: This grammar generates binary numbers with a "decimal" point:
  1. S -> L . L | L
  2. L -> L B | B
  3. B -> 0 | 1
Design an L-attributed SDD to compute S.val, the decimal-number value of an input string. For example, the translation of string 101.101 should be the decimal number 5.625. Hint: use an inherited attribute L.side that tells which side of the decimal point a bit is on.
  1. S -> L . Lsubone
    1. L.inh = 0
    2. Lsubone.inh = -1
    3. S.val = L.syn + Lsubone.syn
  2. S -> L
    1. L.inh = 0
    2. S.val = L.syn
  3. L -> Lsubone B
    1. Lsubone.inh = L.inh + 1
    2. B.inh = L.inh
    3. L.syn = Lsubone.syn * B.syn
  4. L -> B
    1. L.syn = B.syn * 2^L.inh
  5. B -> 0 | 1
    1. B.syn = digit.lexval
5.2.5: Design an S-attributed SDD for the grammar and translation described in 5.2.4.
  1. S -> L . Lsubone
    1. S.val = L.lhs + Lsubone.rhs
  2. S -> L
    1. S.val = L.lhs
  3. L -> Lsubone B
    1. L.lhs = Lsubone.lhs + (2^L.lhs_exponent * B.val)
    2. L.rhs = Lsubone.rhs + (2^L.rhs_exponent * B.val)
    3. L.lhs_exponent = Lsubone.lhs_exponent + 1
    4. L.rhs_exponent = Lsubone.rhs_exponent - 1
  4. L -> B
    1. L.lhs = 2^L.lhs_exponent * B.val
    2. L.rhs = 2^L.rhs_exponent * B.val
    3. L.lhs_exponent = 0
    4. L.rhs_exponent = -1
  5. B -> 0 | 1
    1. B.val = digit.lexval
5.2.6: Link: http://schultkl.blogspot.com/2008/05/solution-to-dragon-book-second-edition.html

5.3.1: Below is a grammar for expressions involving operator + and integer or floating-point operands. Floating-point numbers are distinguished by having a decimal point.
  1. E -> E + T | T
  2. T -> num . num | num
a) Give an SDD to determine the type of each term T and expression E.
  1. E -> Esubone + T
    1. E.type = if (E.type == float || T.type == float) { E.type = float } else { E.type = integer }
  2. E -> T
    1. E.type = T.type
  3. T -> numsubone . numsubtwo
    1. T.type = float
  4. T -> num
    1. T.type = integer
b) Extend your SDD of (a) to translate expressions into postfix notation. Use the binary operator intToFloat to turn an integer into an equivalent float. Note: I use character ',' to separate floating point numbers in the resulting postfix notation. Also, the symbol "||" implies concatenation.
  1. E -> Esubone + T
    1. E.val = Esubone.val || ',' || T.val || '+'
  2. E -> T
    1. E.val = T.val
  3. T -> numsubone . numsubtwo
    1. T.val = numsubone.val || '.' || numsubtwo.val
  4. T -> num
    1. T.val = intToFloat(num.val)
5.3.2 Give an SDD to translate infix expressions with + and * into equivalent expressions without redundant parenthesis. For example, since both operators associate from the left, and * takes precedence over +, ((a*(b+c))*(d)) translates into a*(b+c)*d. Note: symbol "||" implies concatenation.
  1. S -> E
    1. E.iop = nil
    2. S.equation = E.equation
  2. E -> Esubone + T
    1. Esubone.iop = E.iop
    2. T.iop = E.iop
    3. E.equation = Esubone.equation || '+' || T.equation
    4. E.sop = '+'
  3. E -> T
    1. T.iop = E.iop
    2. E.equation = T.equation
    3. E.sop = T.sop
  4. T -> Tsubone * F
    1. Tsubone.iop = '*'
    2. F.iop = '*'
    3. T.equation = Tsubone.equation || '*' || F.equation
    4. T.sop = '*'
  5. T -> F
    1. F.iop = T.iop
    2. T.equation = F.equation
    3. T.sop = F.sop
  6. F -> char
    1. F.equation = char.lexval
    2. F.sop = nil
  7. F -> ( E )
    1. if (F.iop == '*' && E.sop == '+') { F.equation = '(' || E.equation || ')' } else { F.equation = E.equation }
    2. F.sop = nil
5.3.3: Give an SDD to differentiate expressions such as x * (3*x + x * x) involving the operators + and *, the variable x, and constants. Assume that no simplification occurs, so that, for example, 3*x will be translated into 3*1 + 0*x. Note: symbol "||" implies concatenation. Also, differentiation(x*y) = (x * differentiation(y) + differentiation(x) * y) and differentiation(x+y) = differentiation(x) + differentiation(y).
  1. S -> E
    1. S.d = E.d
  2. E -> T
    1. E.d = T.d
    2. E.val = T.val
  3. T -> F
    1. T.d = F.d
    2. T.val = F.val
  4. T -> Tsubone * F
    1. T.d = '(' || Tsubone.val || ") * (" || F.d || ") + (" || Tsubone.d || ") * (" || F.val || ')'
    2. T.val = Tsubone.val || '*' || F.val
  5. E -> Esubone + T
    1. E.d = '(' || Esubone.d || ") + (" || T.d || ')'
    2. E.val = Esubone.val || '+' || T.val
  6. F -> ( E )
    1. F.d = E.d
    2. F.val = '(' || E.val || ')'
  7. F -> char
    1. F.d = 1
    2. F.val = char.lexval
  8. F -> constant
    1. F.d = 0
    2. F.val = constant.lexval

Monday, June 02, 2008

Tacos Are Good



For Dawn--seen on the light rail home this afternoon. Available at Hot Topic.

Blog Archive