Department of Computer Science
University of Miami
CSC322 - C Programming and UNIX
Spring 2023
Description
- Using UNIX
- User environment
- File system
- Tools
- C programming
- The language, including the dreaded pointers
- Programming tools
- Standard libraries
- Programming for UNIX
- The UNIX system call interface
- Interfaces to the internet
- Scripting
Learning Objectives
- Be able to work effectively in the UNIX environment
- Be able to write medium to large C programs for a range of applications.
- Understand and be competent in the use of system tools for C programming.
- Understand the UNIX system call interface, and be able to write C
programs that use the interface.
- Understand and be able to write programs that use selected interfaces
between UNIX and the internet.
- Be able to write small to medium size scripts, in selected scripting
languages, for a range of applications.
Preparation
CSC322 has the pre-requisites (CSC220 or ECE318) and CSC314.
Students who do not meet the pre-requisites must tell the instructor.
Instructor
Geoff Sutcliffe
http://www.cs.miami.edu/~geoff.
Teaching Assistants
Contact Hours
- Lectures in section F - Monday, Wednesday, Friday 1:25-2:15pm,
Communication Intl 2055.
- Live lectures are the best way to learn. And the jokes might be
funny. And ...
- Each lecture will be streamed live in Zoom and Blackboard
Collaborate Ultra, and will also be recorded and made available in
Blackboard to review another time.
- See the instructor's web page for office hours.
- Jack has office hours Thursday and Friday 3-6pm, in UB310T and in Zoom.
- Elizabeth has office hours Friday 4-6pm, in UB310T and in Zoom.
- Jeff has office hours Wednesday 4-6pm, in UB310T and in Zoom.
- Students are encouraged to ask questions by email at all times.
- Students are required to read their email regularly, and to consult
the course web page regularly.
Resource materials
There is no required text.
Useful books about working in the UNIX environment are:
A good book for learning C is:
If you are already a C programmer and would like an excellent reference text,
I like:
It will be useful to have a book on UNIX system programming.
Some good ones are:
Course content,
laboratory tasks,
and
assignments
will be available on the WWW.
Assessment
20%
| C programming assignment
|
15%
| UNIX programming assignment (due 10th May 11am)
|
25%
| Laboratory tasks
|
20%
| First test (15th February, in class)
|
20%
| Second test (29th March, in class)
|
In order to obtain a particular grade, you may be required to attain
that grade in all items of assessment.
Assignments will be placed on the web.
The submission requirements for each assignment will be given with each
assignment.
Late submissions will not be accepted.
Extensions of the due date will be granted if supporting documentary
evidence is supplied (e.g., a doctor's certificate).
Application for an extension must be made to the instructor before
the due date (if possible).
Assessment items must be completed individually.
While general interaction between students is encouraged, plagiarism
is a breach of the
Honor code.
The university requires faculty to report all instances of academic
integrity violations:
Faculty must immediately report the suspected violation to the
Department Chair (or relevant administrator in the non-departmentalized
schools) and complete the online Academic Integrity Reporting Form. The
Department Chair will immediately inform the Academic Dean for
Undergraduate Studies of the school.
See the
Students Rights and Responsibilities Handbook.
That really means ...
It is ok to talk to other students about general solution techniques for
assignments, but it is not ok to copy solutions in part or as a whole.
Plagiarism will result in a loss of marks and/or fingers for all guilty
students involved.