CMSC 330, Spring 2012

Organization of Programming Languages


Important announcements related to the course will be posted here. Please check this page daily.

  • May 22 - Project 5 scores and final grades posted on grades server. Sorry for the delay (TA traveling over weekend). Everyone have a nice summer!

  • May 17 - Students who want to see their final exams may visit Richard in TA office (1st floor AVW) today from 11am to noon, or me in AVW 4185 from 4-5pm.

  • May 14 - Final exam scores posted on grades server. Project 5 scores and final grades won't be available until this weekend (TAs have exams, too).

  • May 10 - Just a reminder that there will be no discussion sections this Friday.

  • May 10 - Please enter your course evaluation by Friday May 11 here. Thanks!

  • May 10 - Posted Midterm 1 & solutions, as well Fall 2010 final exam & solutions here.

  • May 7 - Project 5 deadline moved back 1 day to Tue, May 8 due to early morning outage of submit server.

  • May 4 - Today's 10am & 11am discussion sections canceled (TA unable to make it to campus at last moment). Students should attend later discussion section (noon, 1pm, and 2pm) or read lecture slides online.

  • May 1 - Help a 330 student by answering a survey on the flow of CMSC intro courses here.

  • May 1 - Quiz 4 solutions posted online here.

  • Apr 24 - Project 5 posted, due Mon, May 7th. Submit server ready for submissions.

  • Apr 22 - Jane's office hours today canceled, moved to this Tue 9am-noon instead.

  • Apr 22 - Quiz 4 scheduled for Friday, Apr 27th, will cover multithreading. Practice problems & sample quizzes are available here.

  • Apr 19 - Project 4 late deadline moved back to Sun, Apr 22. On-time deadline remains the same.

  • Apr 19 - Midterm 2 & quiz 3 solutions posted online. Grades should be on grades server by Friday. Midterms will be returned in discussion Friday.

  • Apr 11 - Help a 330 student by answering a 1-minute survey on ethical hacking here.

  • Apr 9 - Fixed submit server problem with Project 4 where submissions always passed all tests.

  • Apr 5 - Project 4 posted, due Fri, Apr 20th. Submit server should be up by tonight.

  • Apr 5 - Midterm 2 scheduled for Tue, Apr 17th. Will cover OCaml, CFGs, and parsing. Practice problems & sample midterms are available here.

  • Apr 3 - Quiz 3 scheduled for Friday, Apr 6th, will cover OCaml and context free grammars. Practice problems & sample quizzes are available here.

  • Mar 2 - Project 2 deadline moved back to Sat, Mar 3rd due to
  • Apr 2 - Jane's TA office hours changed from Mon noon-3pm to Tue 5-8pm, just for this week.

  • Mar 27 - Project 3 deadline moved to Thu, Mar 29th. Lated deadline moved to Fri, Mar 30th.

  • Mar 6 - Project 3 posted, due Wed, Mar 28th. Submit server up and accepting submissions.

  • Mar 2 - Project 2 deadline moved back to Sat, Mar 3rd due to submit server outage last night.

  • Feb 29 - Midterm 1 scheduled for Tue, March 13th. Will cover programming languages, Ruby, regular expressions, finite automata, and OCaml (up through end of Basics). Practice problems & sample midterms are available here.

  • Feb 28 - Project 2 deadline pushed back one day to Friday, March 2nd.

  • Feb 22 - Quiz 2 scheduled for Friday, Feb 24th, will cover Ruby, regular expressions, finite automata. Practice problems & sample quizzes are available here.

  • Feb 16 - Project 2 posted, due Thu, Mar 1st. Submit server will be up later today.

  • Feb 8 - Quiz 1 scheduled for Friday, Feb 10, will cover basic Ruby. Practice problems & sample quizzes are available here.

  • Feb 4 - Submit server now accepting Project 1 submissions. You can get your linuxlab login/password from the grades server.

  • Feb 2 - Project 1 posted, due Tue, Feb 14th. Submit server will be up by this weekend.

  • Jan 31 - Welcome to CMSC 330! Get your Linuxlab accounts from the grades server.


Name Office E-mail Office Hours
Prof. Chau-Wen Tseng AVW 4135 Tue & Thu 3:15-4:15pm
Timothy Destan Will meet in TA room Tue 3-5pm, Thu 3-6pm
Richard Johnson Will meet in TA room Tue & Thu 12:30pm-2pm
Jingyuan (Jane) Ren Will meet in TA room Mon noon-3pm
Tammy Tran Will meet in TA room Wed 11am-2pm


Course Description A study of programming languages, including their syntax, semantics, and implementation. Several different models of languages are discussed, including procedural (Ruby), functional (OCaml), and object-oriented (Java). Language features such as formal syntax, scoping and binding of variables, higher-order programming, typing and type polymorphism, and object inheritance are explored.
Lecture Location CSI 1115
Lecture Times Tue & Thu 11:00-12:15pm (0101, 0102, 0103, 0104) and 2:00-3:15pm (0201, 0202, 0203)
Discussion Location CSI 2118 & 2120
Discussion Times 0101 - Friday noon, CSIC 2120 (Jane)
0102 - Friday 1pm, CSIC 2120 (Jane)
0103 - Friday 1pm, CSIC 2118 (Richard)
0104 - Friday 2pm, CSIC 2118 (Richard)
0201 - Friday noon, CSIC 2118 (Tim)
0202 - Friday 10am, CSIC 2120 (Tammy)
0203 - Friday 11am, CSIC 2120 (Tammy)
Textbooks There are no required or recommended texts. See the resources page for useful online links.

Web Accessibility