CPSC 120 - Principles of Computer Science I - Syllabus
     
    Instructor: Shawn Brenneman
E-mail: asbrennem@radford.edu
   
  [Course Objectives] [Course Description] [Text and Course Arrangement] [Topics covered]
[
How to reach me] [Peer Instructor] [Grading] [Attendance] [Late Policy] [Honor Code]
   
    Course Objectives
To provide you, the student with the basic history of computer science, basic understanding of computer systems, working knowledge of a higher level programming language and the problem solving skills that you will need to prepare you for further studies in computer science.
     
    Course Description
This course is a rigorous, systematic approach to problem solving and programming. It will introduce you to computer hardware, computer programming, structured problem solving, the history of computing, and ethical and social considerations in computer science. You will use the programming language Ada to create computer programs that solve simple problems. You will also be exposed to the UNIX operating system
.
   
    Text and Course Arrangement
The course schedule provides 3 lecture hours and two lab hours per week. The text is Ada 95: Problem Solving and Program Design, 3rd Edition, by Feldman & Koffman. Lab sessions will give you the opportunity to learn to use the workstations in the collegeÕs Unix lab for internet access, mail, and to create and execute Ada programs.
   
    Topics covered in the course
1. Computing history and careers
2. Ethical and social considerations in computer science
3. Introduction to computer systems
4. Problem solving methodologies--Introduction to Unix and X-Windows
5. Top-down design and pseudocode
6. Problem solving using selection and repetition
7. Top-down design and structure charts
8. Problem solving using arrays
9. Introduction to sorting
10. Group problem solving methods
11. Data organization using records
12. Data abstraction
     
    How to reach me
The best way to get a message to me is by e-mail. I encourage you to see me during my office hours if you have any questions about the course. I will also be happy to see you during times other than my office hours if I am there with my office door open. Please do not try to catch me during the 15 minutes prior to class. (This class, or any other that I teach. My schedule is posted beside my office door.)
     
    Peer Instructor
There is a peer instructor for this course. Seth Peery will be present at the lab sessions to help and will hold one office hour each week where he will be available to answer questions for you.
   
    Grading
  Exam 1 15%
  Exam 2 15%
  Final Exam 20%
  Labs 15%
  Assignments 35%
   
    Attendance
There is no grade assigned for attendance in this class. However, you will do much better in this class if you attend the class. Attending class is by far the easiest thing you can do to learn the material covered by the class and understand what topics will be featured on the exam.
   
    Late Policy
I will accept assignments up to 2 days late, with a 20% penalty for each day late. The best thing for you to do is turn things in on time.
   
    Honor Code
Academic dishonesty, lying, and stealing are considered to be acts of dishonor and may result in a student's temporary or permanent suspension from the university community. Violations of academic integrity will not be tolerated. Refer to your Student Handbook for details. In this class you are expected to do all programming assignments on your own, you should not work with other students in this class or receive help from anyone outside the class on the outside class programming assignments. However, you may help each other in class on lab assignments.