Machine translation in the context of learning imperative
programming. Covers tokenizing, parsing, machine representations of
high-level data, scoping, and functions. Introduces functional
programming.
CS2330 begins by introducing students to the C programming language, which
is used to complete all assignments. The class then becomes more of an
"introduction to compilers" course, where students are introduced to the
concepts of regular expressions, finite state automaton, context free grammars,
LL(k) and LR(k) parsing, interpretation of source code, and language
translation. Towards the end of the semester, students are introduced to
functional programming, and learn more about the object-oriented and
imperative paradigms.
CS2330:
CS2331:
At the beginning of the class, you will be assigned a TA. This TA will be
your first point of contact when you have a question about your grade. The
TA will also grade all of your homeworks (the midterm and final are graded by
all of the TAs).
For all homework assignments, until the end of the semester, all code you
submit must adhere to the following coding standards. Failure to follow
the standard will cause you to lose points on the assignment.
Definitions:
Naming conventions:
Pretty much everything in CS2330 is done with the "workon" system. You should
be familiar with it from previous classes, but if not, here's a quick
introduction. First, you may need to install workon. Do this by loggin on
to Acme and typing "~icslib/setup" at the prompt. After logging out and back
in, type "workon cs2330". Your prompt should change to something like:
The commands you'll use the most in workon are: getjob, turnin, and viewgrades.
getjob copies a homework assignment into your directory. For instance, if
you wanted to get all the files for hw0, you'd type:
When you are done with a homework assignment, you can turn it in with turnin
(unless otherwise instructed). To turn in a file (say a solution to hw0, in
the file hw0.ans), you'd type:
The last command you'll use a lot is viewgrades. If it's not obvious,
viewgrades allows you to view all of your grades that have been entered
into the system.
When creating your answer file, we prefer you to follow the following
guidelines:
There are 4 newsgroups associated with CS2330:
Some other newsgroups you may want to check out are:
While students are not required to read this newsgroup, they should
definitely try to keep up with some of what is going on here, as it
might help with their overall efficiency in completing assignments.
HOWEVER - do not allow discussions from the .flame newsgroup to
spill over into other newsgroups. There is to be no cross-posting
between .flame and any other newsgroup in the CS 233x hierarchy
(cross-posting to newsgroups outside of CS 233x is permitted,
subject to the "rules of normal conduct" for those groups). Any
person who violates this rule will be referred to OIT for violation
of the Computer Usage Policy.
Due to the volume of posts on .homeworks and .questions, we ask that all
students follow a few simple guidelines when posting to the newsgroup. First,
do not post questions that have already been answered! This wastes
the TAs' time and other students' time. If you post a previously answered
question, it probably won't be answered, and you may be told (nicely, if you're
lucky) that it's been answered. Second, and also very important, indicate
the homework and problem number in the subject line. So if you're having
a problem figuring out what malloc does on homework 2, p1, a good subject
might be: [hw2][p1] malloc. This allows other students to find posts
more quickly.
Here's a list of all the TAs, their office hours, when they teach lab,
and a link to their homepage (if they have one). Unless otherwise noted,
office hours will be held in either CoC room 52 or 53, or in the common
area.
And the random losers who've forgotten they aren't TAs anymore... They
might be able to help you though, so listen up!
Q: Where does the word "charette" come from?
Jim Greenlee
College of Computing room 115
404-894-6049
Email: jkg@cc.gatech.edu,
jkg@prism.gatech.edu,
jkg@eecom.gatech.edu
Mike McCracken
http://www.cc.gatech.edu/computing/SW_Eng/people/Faculty/Mike.McCracken.html
Office hours by appointment, email Gwen
Homeworks 25% Midterm 30% Final 45%
Declarations:
Commenting:
Code:
No other text may appear on the lines with /* and */. The first
non-whitespace character on each internal line of the comment must
be '*'. The '*' characters must be aligned vertically.
/*
* This is a comment.
*/
-bl -c41 -i4 -l72 -pcs
Note that all Makefiles distributed with assignments will
provide a "make pretty" target that enforces this rule.
cs2330>
Whenever this prompt is shown, you're in the workon environment. You
must use the workon environment when you are completing your
assignments. If your code does not work in workon, you may receive a 0 (ZERO).
cs2330> getjob hw0
You should see a report of what files getjob copied. The file containing the
actual assignment always has the '.nfo' extension. You may also receive other
files along with a .nfo file -- these are needed to complete the assignment.
cs2330> turnin hw0 hw0.ans
The first argument, hw0, is the assignment name. This should be the same name
that you used for getjob. The second argument is the file where you
have saved your answers.
It sounds simple, and it is. So do it.
git.cc.class.cs2330.announce
General announcements about Very Important Things. Homework
announcements will be posted here, along with any clarifications
that are of general interest.
git.cc.class.cs2330.homeworks
Questions (and their answers) that are specific to homework
assignments.
git.cc.class.cs2331.lab
Questions (and their answers) that are specific to laboratory
assignments.
git.cc.class.cs2330.questions
General questions (and their answers) about course-related
topics or issues that are NOT appropriate for the .homeworks or
.lab groups.
git.cc.class.cs2330.flame
Complaints and other postings that are not appropriate for the
other newsgroups.
Name
Office Hours
Lab Time
Home Page
Ryan Chaves
T 5:00-6:30
Th 5:00-6:30
http://angband.org/~desiato/
Danny Diaz
T 6:00-7:30
Th 5:00-6:30
http://www.geocities.com/CollegePark/5003
Mike Doyle
Th 2:00-3:30
Mike Fulk
T 5:00-6:30
Th 5:00-5:30
http://www.cc.gatech.edu/~mfulk
Bruce Labbate
Th 2:00-3:30
Patrick McNeill
T 5:00-6:30
Th 5:00-6:30
http://templeton.gt.ed.net/~pmcneill/
Bill Murdock
T 2:00-3:30
Th 2:00-3:30
http://www.cc.gatech.edu/ai/students/murdock/
Daniel Phommathep
Th 2:00-3:30
Sheetal Shah
T 5:00-6:30
Th 5:00-6:30
Jason Tang
T 2:00-3:30
Th 2:00-3:30
http://www.jtang.org/~tang
David Thompson
Th 2:00-3:30
Tracy Westeyn
T 5:00-6:30
Th 5:00-6:30
Name
Home Page
Nick Black
Gary Yngve
http://www.cc.gatech.edu/~gary/
A: Charette--- \shar-ret'\ n., F: The term "Charette" initially appeared
in the early part of the late 1800's. Architecture students in Paris
who needed to rush their drawings to the Ecole Des Beaux-Arts placed
them on a cart which was called charette. Later the word broadened its
meaning and came to describe any intense, short-term student design
project. Today the word is used by the architectural community at
large to describe any intense, on-the-spot design effort.
From: http://www.co.new-hanover.nc.us/Media/R990305a.htm
Last Update: June 18, 2000
pmcneill@templeton.gt.ed.net