History: The precursor of this course in the quarter system
was CSE 655.
Course Summary: Studying programming language constructs,
and design and implementation issues for different language families;
grammars and parse trees; interpretation versus compilation; data
types, binding and scope rules; language constructs for control and
data abstraction.
Dreese Labs 264; M, W, F at 11:30am-12:25pm
First day: Monday, Jan. 8
No classes on: 1/15 (Mon.); 3/12-3/16 (M-F)
Last day of class: Monday, 4/23
Final exam: Friday, Apr. 27, at 12:00 noon-1:45 pm (*Note the day and time!*)
Office hours: M, W, F: 4:00-5:00 pm;
Other hours by appointment.
E-mail (to neelam AT cse.ohio-state.edu) questions strongly encouraged. If you do send me e-mail, please send only plain text or .pdf, not .doc
files .html, etc.
Piazza forum:
https://piazza.com/class/jcb06xguwpn610
(Note: Piazza uses your "osu.edu" addresses; if you log in with your "buckeyemail.osu.edu" address, you may run into problems).
Important note: Your labs must run on CSE's stdlinux or on the Windows machines in the CSE labs. If you develop your lab on your own PC, it is *your* responsibility to transfer them appropriately so that they can run on stdlinux or on the CSE Windows machines; and you must do so before the submission is due.
Change: The midterm will be on Mon., Feb. 19, not Fri., 2/16.
First midterm on Fri., Feb. 16. Topics will be everything that we
discuss in class until then.
You may use a single
cheat-sheet (one 8" X 11" sheet, possibly doublesided, containing
whatever notes you want).
Here is a brief review.
Here is a sample midterm;
here are
possible answers to the sample
midterm questions. If you notice problems/mistakes, please let me know. Here are the grades in the midterm. I will return
the papers in class today. Here are some comments on the midterm.
Second midterm on Fri., Apr. 6.
Topics will be
everything we have discussed in class since the first midterm.
You may use a single
cheat-sheet (one 8" X 11" sheet, possibly doublesided, containing
whatever notes you want). Here is a brief review/list of topics.
Here is a sample midterm;
sample solutions.
I am still working on grading the midterms.
In the meantime, here are some comments on the most common
mistakes that I saw. Here are the grades in the midterm.
We will NOT follow the text book closely. Instead, you will have to rely on class notes and your own notes.
I will hand out hardcopies of slides; but they will simply be bullet-points/outlines of what
we talk about in class. YOU have to write your own notes. Most important: DO NOT miss classes.
The authoritative book on Scheme is one written Abelson and
Sussman who designed the language. The title of the book is "Structure
and Interpretation of Computer Programs". It is available for free
on-line. But note that this book contains far more material than is
included in this course. A student in an earlier section of the course found
this site helpful;
it includes a full debugger etc.
Scala for the impatient (probably the most readable book on Scala (assumes you know Java); but doesn't give you a really good intuition for Scala's structure and design)
Please check your OSU e-mail regularly. Please do not send email
from other email accounts you may have. Please do not include non-English
characters in your email. Please do not send attachments without first
checking.
Please read the Piazza forum regularly *and* contribute to it.
If the grader
has problems with your assignments or running your labs etc., he will send mail to your OSU address
and it is your responsibility to respond promptly.