![]() |
CS216 Program and Data Representation |
Instructor: Professor Anita Jones, Olsson Hall 223,
982-2224.
E-Mail: jones@cs.virginia.edu
Office Hours: Monday: 11:00am - 12:00pm, Tuesday: 1:00pm -
2:00pm
(or By Appointment)
Lecturer:Clark Coleman, Olsson Hall 231, 982-2292.
E-Mail:
Graduate TA: Jennifer Mifflin.
E-Mail: mifflin@cs.virginia.edu
Office Hours: TBD Olsson 236 (CS library)
Undergraduate TAs:
    Rusty Ventura(rusty@virginia.edu)
    Arun Thomas (at4a@virginia.edu)
TA Office Hours:
    Sundays : TBD p.m. Olsson 236 (CS library: Rusty)
    Tuesdays : TBD p.m. Olsson 236 (CS library: Arun)
    Thursdays: TBD p.m. Olsson 236 (CS library: TBD)
Course Description: Introduction to programs and data
representation at the machine level. Data structuring techniques and the
representation of data structures during program execution. Operations and
control structures and their representation during program execution.
Representations of numbers, arithmetic operations, arrays, records,
recursion, hashing, stacks, queues, trees, graphs, and related
concepts.
Prerequisites: CS201 (Software Development Methods) and CS202 (Discrete Math) with grades of C- or above.
Course Text: Weiss, Mark Allen. Data Structures and Algorithm Analysis in C++. Addison Wesley: 1999, second edition.
Class Meetings: Monday and Wednesday: 10:00-10:50am in Olsson 009
Lab Meeting: Tuesday: 12:00 noon - 2:00pm in Olsson 001
Final Exam: Thursday, December 12th: 9:00 - 12:00 noon
Class Attendance: Class attendance is mandatory.
Class Web Page: http://www.cs.virginia.edu/~cs216/
Grading and Evaluation: Grades will be computed as follows:
Help and Pledge Policy:
   We learn a lot from each other. This is good. The lab
experience is structured so that you will typically work individually, although
in some cases parts of your lab will be a team effort. When working as a team,
you may consult and discuss freely with your team. Some of your
pre-lab and post-lab work will be done in public PC labs in which classmates
will be present, however. What, in such an environment, constitutes an honor
violation?
   Basically in this course, the honor code pledge
asserts that work which you submit as being your own, whether a lab,
program, or exam, really is your own. In the case of programs there
is sometimes a grey area as to what constitutes "your own work."
Clearly, taking someone else's code and permuting it by changing
comments, procedure order, variable names, etc. is rampant plagiarism;
it is not "your own work." Suppose instead that you talk with a
friend about the algorithm, and then code up that algorithm, is that
plagiarism? I would say no. The intellectual challenge of this
course is to take abstract algorithms, data structures, or ideas and
make them work. You may freely get help understanding the algorithm,
data structure, or idea - but you must make it work. The line I draw
is: "if you actually look at another person's code (or let someone
look at yours) you are stepping over the line."
   But, to catch simple syntax errors, I ask a friend to
look at my code, surely that is not an honor violation. Possibly not,
but it is perilously close. By now, you are experienced enough to
debug most errors. For those really hard ones, take your code to a
TA, not a friend. The general rule is: "do your own coding and keep
it to yourself."
   I expect a signed honor pledge to be written on all
homework, lab work, and exams. Most importantly, I expect you to
adhere to the intent of the pledge.
Course Outline: Word 97
CS216 Labs: Click Here
C++ Environment: Click Here