CALIFORNIA STATE UNIVERSITY, CHICO
Department of Computer Science
Spring 1998
CSCI 15A-1,2,3 Programming and Algorithms: 1
3.0 Units
Instructors: John Zenor, Simon Goberstein
John Zenor (zenor@ecst.csuchico.edu)
Office: OCNL 230, 898-4414; Department Office: OCNL 215, 898-6442
Office Hours: M, Tu, Th 2:00-2:50; W 4:20-5:10; M 4:20-5:10, by appt.
Simon Goberstein (simong@ecst.csuchico.edu)
Office: HOLT 140, 898-6367; Department Office: HOLT 181/183, 898-6111
Office Hours: Tu, Th 5:00-6:30
Lab Instructor: Lonnie Heinke (lheinke@ecst.csuchico.edu)
Two hours of individual lab help are available: Tu 10:00 - 10:50; W 2:00 - 2:50
Link to Lonnie's Web Page for Additional Information about Lab Assignments
1. Course Time Schedule: TR 11:00AM - 12:15PM GLNN 212
Activity-1: F 1:00 PM 1:50 PM OCNL 119 / 131
Activity-2: F 12:00 PM 12:50 PM OCNL 119 / 131
Activity-3: F 11:00 AM 11:50 AM OCNL 119 / 131
The Activities will meet in the classroom, OCNL 119, unless lab demonstrations are to be given. In that case, the activity will meet in OCNL 131, the computer laboratory.
2. Text: Required: An Introduction to Computer Science Using Java, 1st Edition, by S. N. Kamin, M. D. Mickunas, E. M. Reingold, McGraw Hill, 1998
Reference for students without any programming experience:
Teach Yourself Java 1.1 in 21 Hours, SAMS press.
Reference for students with programming experience in another language:
Teach Yourself Java 1.1 in 21 Days, Lemay and Perkins, SAMS press.
References for students with considerable "C++" programming experience:
Core Java 1.1 (2 Volumes), Horstman and Cornell, Prentice Hall
Java in a Nutshell + Java Examples in a Nutshell, David Flannagan, O'Reilly Press
C++ References
The Beginners Guide to Visual C++, WROX press, is a very good
reference if you are going to use Visual C++ on your home PC.Computing Fundamentals, by Mercer, is the text used two semesters ago. It has a very good introduction to the use of classes and good programming design in C++.
3. Costs which might be incurred during the semester:
One required text, optional reference books, occasional copied reference material; optional MetroWerks Development System, if you wish to program on your PC at home. A $35 lab card is required for use of lab equipment in OCNL.
4. Prerequisites: One year high school algebra.
5. Evaluation Procedures:
Midterm 1 15% Midterm 2 15% Final Exam 20% 6-8 Programs 40% Homework & Quizzes 10% Total 100%
All but one of the assigned programs must be submitted in working order to pass the course! Quizzes may be unannounced and may not be made up, but the lowest score (or one missing score) will be discarded.
Programs will be weighted by difficulty, with a total point value ranging from 20 to 150 points. The program grades will be computed as follows. Design, Style, Documentation 20%, Correctness 80%. Programs are to be turned in during the Activity session in which you are enrolled, withing the first five minutes of the activity session. 10% reduction in grade if the program is submitted after the first five minutes; 20% reduction per week after the due date. Programs may optionally be turned in during the lab instructor's scheduled help sessions, but will not be accepted at other times. Do not turn programs into the Department Office, and do not slide them under the instructor's office door.
6. Additional Comments: You are being graded as individuals; you must do your own work. If you hand in a program containing code written by someone else, you and the other person will receive an 'F' in the course. If you have an illness or emergency resulting in missing a due date, quiz, or exam, you must present verifying documentation.
7. Additional Recommendations: Attend every class session, read ahead, get an early start on every program. If you can't figure out how to get started on a program, or if you are unclear about some topic in class: ask questions!
8. Programming at Home: We are using the Metrowerks Development Environnment for the development of the Java 1.1 programs for this class. There are many Java enviornments you may use at home to develop your programs, but class and lab instruction will be based on the Metrowerks environment. You may be required to bring your finished programs to school and run them using Metrowerks in order to submit them in the required format. The Metrowerks environment is available at the Student Bookstore (Computer Works) for a considerable educational discount.
A free version of Java 1.1 may be obtained on the Web from Sun's Web Site which could be used to develop the programs required for the course. This software is also provided on the CD's in several of the suggested references for the course. You must plan to use version 1.1 of Java. (This temporarily rules out the use of Microsoft's J++ without some rather complicated upgrades which are available on the Microsoft Web Site.)
Internet Explorer 4.0 is required to use the debugging features of Metrowerks. Netscape has an update on the Web that will allow the viewing of Java 1.1 applets, but will not allow interactive debugging.
Setting up your home machine is a complex operation that may take a while. Until you get your home system up and running use the machines in the lab. Troubles with your home equipment will not be accepted as an excuse for late assignments.
Spring 1998
CSCI 272 Multi-User Operating Systems
3.0 Units
Instructor: John Zenor (zenor@ecst.csuchico.edu)
Office: OCNL 230, 898-4414; Department Office: OCNL 215, 898-6442
Office Hours:M, Tu, Th 2:00-2:50; W 4:20-5:10; M 4:20-5:10, by appt.
1. Course Time Schedule:
M 2:00PM - 3:15PM OCNL 123
W 2:00PM - 3:15PM OCNL 131
2. Text: Required: Practical Unix Programming. A Guide to Concurrency, Communication, and Multithreading, 1st Edition, by K. A. Robbins, S. Robbins, McGraw Hill, 1998
References:
Managing Projects with make, Andrew Oram and Steve Talbott, O'Reilly press.
3. Costs which might be incurred during the semester:
One required text, optional reference books, occasional copied reference material. A $35 lab card is required for use of lab equipment in OCNL.
4. Prerequisites: CSCI 152.
5. Evaluation Procedures:
Midterm 1 15% Midterm 2 15% Class Participation 20% Project and Lab Notebook 50%
6. Project: Groups of 2 to 3 students will pick one of the four projects in the text. The project will be completed by the group, and a detailed presentation will be given to the class. Documentation will be produced for the project code and for the various questions asked by the text in the project chapter. One member of the group will be designated project manager, and will be responsible for coordinating and evaluating the efforts of the group members. The group members will, in turn, perform an evaluation of the project manager.
7. Lab Notebooks: Notebooks will be prepared by each student, containing the documentation for exercises completed during the course. This documentation may be informal, including hand annotations of program listings. Work in the notebook should be dated.
Units |
3.0 units Spring 1998 |
Satisfies Graduate Area: |
Operating Systems/Networks |
Prerequisite: |
CSCI 152 (Operating Systems Programming) or faculty permission |
Class Days and Times: |
Tue & Thu, 3:20p-4:30p (Pacific) |
Instructor: |
John Zenor |
Office Hours: |
M, Tu, Th 2:00-2:50; W 4:20-5:10; M 4:20-5:10, by appt. |
Office Phone: |
530-898-4414 |
Message Phone: |
530-898-6442 |
Fax Phone: |
530-898-5995 |
E-mail Address: |
zenor@ecst.csuchico.edu |
Textbook: |
Security in Computing, by C. P. Pfleeger, Prentice Hall, 1997 (Required) ISBN 0133374866 |
The class will begin with a historical discussion of cryptography. Emphasis then shifts to security in computer systems, particularly identification, authorization, operating system security, data flow security, and data base security. ATMs and POCs are rapidly entering the business scene. Security considerations, especially for multi-organization transactions, will be covered as a specialized extension of some of the more general previous discussions. Computer systems are similar to other assets and businesses in certain aspects of security, and these will be the next topic. Included are such areas as physical security, site selection, and insurance for hardware and data.
1. Introduction 6. System security (continued) 2. Encryption c. Information access problems a. Basic techniques d. Service problems b. 1940's advances 7. Operating systems c. Modern Computer approaches 8. Data bases 3. Data encryption 9. Networks 4. Secure communication 10. Physical protection 5. Digital signature 11. Risk Analysis 6. System security 12. Legal issues a. Identification 13. Ethical issues b Authorization
Project 50% Midterm (in-class) 20% Final (take-home) 30%
For the project, I will return a comment sheet and grade. If you want the comments directly on the project itself, send two copies and I will return one.
The projects will be due approximately 10 weeks into the semester, so the material can be discussed in class. DO NOT select a topic that is company proprietary or otherwise restricted with respect to public dissemination.
Anything mailed to me must be sent to my campus address (Department of Computer Science, CSU, Chico, Chico, CA 95929-0410).