CSCI 1730 -- Systems Programming -- Summer 2009
SYLLABUS
Instructor : Robert W. Robinson
Email : rwr at cs dot uga dot edu
Office : 423 Boyd GSRC
Office hours : 2--3 & 5--6 MW, 2--5 TT, & by appointment
- Lectures :
- 11:45--12:45 Mondays, room 306 Boyd
- 10:30--11:30 Tuesdays, room 102 Hardman
- 11:45--12:45 Tuesdays, room 306 Boyd
- 10:30--12:45 Wednesdays & Thursdays, room 306 Boyd
- Required Texts :
- Advanced Programming in the UNIX Environment,
2nd edition, by Stevens and Rago, 2005.
-
C++ How to Program, 6th edition, by Deitel and Deitel,
2008.
- Pre/Corequisite courses : CSCI 1301-1301L and CSCI 1302
- Course Description : The first half of the course is
on C and systems programming in UNIX. The second half is
an introduction to C++ for Java programmers.
- 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 : Meghana Viswanath
Email: meghanav at uga dot edu
Office hours : 5--6:15 TuF and 4--5 W in roon 201 Boyd (through 7-22).
- Grading :
- Projects : 45% (projects due most Tuesdays and Fridays by midnight)
- Pop Quizzes : 10%
- Midterm Test : 15% (7-6)
- Final Exam : 30% (7-31, 12:00--3:00 PM, 102 Hardman)
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 in the text by Deitel and Deitel :
- Chapters 4, 5 -- Control Structures
- Chapter 6 ------- Functions and Recursion
- Chapter 7 ------- Arrays
- Chapter 8 ------- Pointers
- Chapter 21 ----- C Features
- UNIX topics 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 7 ------ Process Environment
- Chapter 8 ------ Process Control
- Chapter 9 ------ Process Relationships
- Chapter 10 ----- Signals
- Chapter 15 ----- Pipes and FIFOs
- Chapter 16 ----- Sockets
- C++ topics in the text by Deitel and Deitel :
- Chapters 1, 2 -- Introduction
- Chapter 3 ------ Classes and Objects (first look)
- 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 18 ----- Class string
- Section 22.1 ---- STL (introduction)
- Chapter 25 ----- Potpourri
- General Information :
- All programs will be compiled and run in a Linux environment using
using the GNU gcc and g++ compilers for C and C++.
-
This class does not support PC's. We expect all work to be done in a Linux
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 Linux 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