CSCI 1730 -- Systems Programming -- Fall 2008
SYLLABUS
Instructor : Robert W. Robinson
Email : rwr at cs dot uga dot edu
Office : 423 Boyd GSRC
Office hours : Tuesday, Wednesday, and Thursday 12:30--1:30 and 2:15--3:15,
& by appointment
- Lectures : 11:00--12:15 Tue., Thu. & 11:15--12:05 Wed.,
in room 208 Boyd
- Required Texts :
- C++ How to Program, 6th edition, by Deitel and Deitel,
2008. (The 4th or 5th edition is okay too.)
-
Advanced Programming in the UNIX Environment, 2nd edition,
by Stevens and Rago, 2005. (The paperback or 1st edition is okay too.)
- Pre/Corequisite courses : CSCI 1301-1301L and CSCI 1302
- Course Description : The first half of the course is an
introduction to C++ for Java programmers. The second half is on systems
programming in UNIX.
- Course Homepage : The URL for the course homepage is
http://www.cs.uga.edu/~rwr/cs1730.html.
The readings, projects, announcements, corrections, hints,
and other basic course information can be found there.
- Teaching Assistant : Yingfeng Wang
Email: ywang802 at gmail dot com
Office hours : 11--12 Monday and 6:30--8:30 PM Thursday, in
room 537A Boyd.
- Grading :
- Projects : 50% (projects due most Thursdays by midnight)
- Pop Quizzes : 10%
- Midterm Tests : 20% (2 tests, each 10%; 9-24 and 11-5)
- Final Exam : 20% (12-11, 12:00--3:00 PM, 208 Boyd)
Course assessment will be based on the following scale: if your final
average is at least 85, you're guaranteed an A, if 81 an A-,
if 76.5 a B+, if 72.5 a B, if 68.5 a B-, if 64 a C+, if 60 a C,
if 57 a C-, and if 50 a D.
- C++ topics and their location in the text by Deitel and Deitel :
- Chapters 1, 2 -- Introduction
- Chapter 3 ------ Classes and Objects (first look)
- Chapters 4, 5 -- Control Structures
- Chapter 6 ------- Functions and Recursion
- Chapter 7 ------- Arrays
- Chapter 8 ------- Pointers
- Chapters 9, 10 - Classes (in depth)
- Chapter 11 ----- Operator Overloading
- Chapter 12 ----- Inheritance
- Chapter 13 ----- Polymorphism
- Chapter 14 ----- Templates
- Chapter 15 ----- Input/Output
- Chapter 16 ----- Exceptions
- Chapter 17 ----- Files
- Chapter 21 ----- C Features
- UNIX topics and their location in the text by Stevens and Rago :
- Chapter 1 ------ Architecture
- Chapter 2 ------ Standardization
- Chapter 3 ------ File I/O
- Chapter 4 ------ Files and Directories
- Chapter 5 ------ Standard I/O Library
- Chapter 6 ------ System Files
- Chapter 7 ------ Process Environment
- Chapter 8 ------ Process Control
- Chapter 9 ------ Process Relationships
- Chapter 10 ----- Signals
- Chapter 15 ----- Pipes and FIFOs
- Chapter 16 ----- Sockets
- General Information :
- All programs will be compiled and run in a Unix environment using
using the GNU g++ compiler for C++.
-
This class does not support PC's. We expect all work to be done in a Unix
environment.
-
If you do write your projects on a PC, then it is your responsibility to :
(i) transfer the programs over to your Unix account, and
(ii) make sure they work on your Unix account.
- Policies : Attendance will not be taken but the class sessions are
an integral part of the course. If you are absent it is your responsibility
to find out what was covered in class and to catch up.
If you are going to be absent on the day of an examination, you must provide
a University-approved excuse for your absence before the day of the examination.
- Deviations : The course syllabus is a general plan for the course;
deviations announced to the class by the instructor may be necessary.
- Academic Honesty : The overall UGA policy applies. All academic work
must meet
the standards contained in "A Culture of Honesty". Students are responsible
for informing themselves about those standards before performing any
academic work. The link to more detailed information about academic honesty
can be found at
http://www.uga.edu/honesty/ahpd/procedures.html
The Computer Science Department Honesty Policy also applies (see below).
Students are encouraged to consult with the instructor whenever
help is needed. In addition to the instructor's scheduled office
hours, students can make appointments for other times.
E-mail is often a convenient way to ask short questions or to make
an appointment.
Computer Science
Departmental Policy Statement
Academic Honesty
The Computer Science Department recognizes honesty and
integrity as necessary to the academic function of the University. Therefore
all students are reminded that the CS faculty requires compliance with the
conduct regulations found in the University of Georgia Student Handbook.
Academic honesty means that any work you submit is your own work.
Common forms of academic dishonesty which students should guard
against are :
- copying from another student's test paper or laboratory report, or
allowing another student to copy from you;
- fabricating data (computer, statistical) for an assignment;
- helping another student to write a laboratory report or computer
software code that the student will present as his own work, or accepting
such help and presenting the work as your own;
- turning in material from a public source such as a book or the Internet
as your own work.
Three steps to help prevent academic dishonesty are :
- Familiarize yourself with the regulations.
- If you have any doubt about what constitutes academic dishonesty, ask
your instructor or a staff member at the Office of Judicial Programs.
- Refuse to assist students who want to cheat.
All faculty, staff and students are encouraged to report all suspected
cases of academic dishonesty. All cases of suspected academic dishonesty
(cheating) will be referred to the Office of Judicial Programs. Penalties
imposed by the Office of Judicial Programs may include a failing grade in
the course and a notation on the student's transcript. Repeated violations
are punishable by expulsion from the University. For further information
please refer to the UGA Code of Conduct, available at the URL below.
http://www.uga.edu/judicialprograms/2006-07%20Code%20of%20Conduct.pdf