SYLLABUS


Number and Title of Course: CS145 - Computer Science I
Department Phone: (505) 454-3295

Instructor(s):

Catherine Stringfellow,

  • Office: SCA203
  • Office Phone: (505) 454-3202
  • Office Hours: WF 11:00-12, TR 9:30-10:30 and by appointment
  • E-mail Address:stringfellow@venus.nmhu.edu
  • Homepage: http://cs.nmhu.edu/personal/catherine/

Wayne Summers,

  • Office: SC212A
  • Office Phone: (505) 454-3230
  • Office Hours: MTWRF 10-10:50 and by appointment
  • E-mail Address: summers_wayne@ColumbusState.edu
  • Homepage: http://csc.ColumbusState.edu/summers

Catalog Description of Course:
This course looks at computing as a human enterprise covering problem solving techniques. Major emphasis is placed on structured and object oriented programming techniques : data abstraction selection, looping, and functions as well as elements of simple data structures : lists, array, and records. An overview of computer hardware, software and applications, data management and data communications will be provided. (4 credits).

Course Prerequisite:
Grade of at least a "C" in Math 090 plus either a grade of at least a "C" in CS140 or an ACT score of 22, or permission of the instructor based upon the student's programming experience.

Required Textbook(s):book image
a. Computers: Inside & Out by Kurt Luackner & Mildred Lintner, Pipin Publishing, 1994.
b. The Object Concept by Rick Decker & Stuart Hirshfield, PWS Publishing Co, 1995.
c. Supplementary material and lecture notes.
d. At least four(4) 3 1/2" high-density diskettes

General Objectives:
1) to provide the students with an overview of computing and computer science
2) to introduce the student to the use of the computer
3) to provide a framework for students to build on in using computers in the classroom and in the workplace
4) to create an understanding of how computers are used in today's technological world
5) to provide insights into how computers are affecting our daily lives
6) to learn the "software engineering" approach to designing and implementing computer programs
7) to learn the concepts of data abstraction and modularization through the use of functions and parameters
8) to learn the syntax and structure of the C++ computer programming language.
Specific Objectives:
At the conclusion of this course, students should be able to:
1) understand what computing is and what computers can and cannot do;
2) understand the important issues affecting the use of computers in society;
3) understand the terminology and concepts of computers and their uses;
4) to be able to comfortably use a computer as a tool for solving problems;
5) leave the class feeling comfortable using the computer;
6) analyze the requirements of a problem;
7) design algorithms to solve moderately complex problems;
8) implement algorithms by coding them into the C++ programs, then compile and execute them.

Major Topics:
1) Computing as a human enterprise: brief history of computing; theory, abstraction and design;nine subject areas of computing; computing and daily life
2) Algorithm discovery and design
3) Efficiency of algorithms
4) Binary numbers, Boolean logic, and gates
5) Computer system organization
6) Systems software and virtual machines
7) Introduction to high-level language programming
8) Compilers and language translation
9) Models of computation
10) Software applications and computer networks
11) Social and legal issues
12) Introduction to object oriented programming concepts.

Instructional Methods and Techniques:
1) The class will meet for three one-hour lecture/discussion periods and one three-hour lab each week.
2) Some lectures may be supplemented with videos to allow students access to information not currently available on campus.
3) The labs will stress hands-on applications by the students and provide an opportunity for the students to develop and program solutions to problems in computing.

Assignments for Course:
1) Readings from the textbooks
2) Outside reading from popular computing and information technology periodicals like PC-Week, PC-Magazine, etc.
3) Readings from documents found on the Internet
4) Homework assignments (assigned on Monday and due on Friday)
Students are expected to check their e-mail regularly for assignments.
5) Programming assignments Evaluation
1) Exams over the lectures, readings and lab work.
2) Homework including lab assignments and weekly quizzes on material discussed in class and lab.
3) The students would be expected to summarize their readings in a weekly journal.
These journals should be submitted electronically using the campus e-mail system.
4) Programming assignments

Attendance:
Class attendance is the responsibility of the student, and it is the student's responsibility to independently cover any material s/he may miss. Class attendance and participation may also be used in determining grades. You should attend all lab sessions.!! Attendance will be taken. You will be expected to visit at least one instructor during each half of the semester.

Exams and Assignments:
There will be three tests and one comprehensive final exam. Exams cover material from the text as well as laboratory activities. The lectures may not cover all the material in the textbooks. There will be several major programming projects as well as a few small lab assignments. The projects will be expected to be complete and robust, including good user interfaces and the ability to handle improper input. Industry level internal and external documentation will also be expected.

Course Evaluation:
Lab assignments & programming projects= 350pts.
homework assignments / quizzes = 150 pts.
attendance and class participation = 50 pts.
Electronic Journals = 50 pts.
Three tests = 300 pts.
1 FINAL EXAM = 150 pts.

Grades may be determined according to this scale (approximate) :

A =90% - 100%
B= 80% - 89%
C =65% - 79%
D= 55% - 64%


Honor Policy: Cheating will not be tolerated. Any student caught cheating will be given a zero on the assignment or exam. Repeat offenders will be given an F for the course and may suffer expulsion from the university. All work must be your own. You may discuss the material in the course and help one another, however, I expect any work you hand in for a grade to be your own. Plagiarism will result in, at best, an "F" for the assignment. A simple way to avoid inadvertent plagiarism is to talk about the assignments, but don't read each other's work or write solutions together. Keep scratch paper and old versions of assignments until after the assignment has been graded and returned to you. If you have any questions about this, please see me immediately.


Makeup Exams:
Late assignments will not be accepted. E-journals are due by 5 p.m. Friday each week. Makeup exams will be given only if the instructor is notified IN ADVANCE of the exam with a legitimate reason for missing the exam.


WEEKLY SCHEDULE FOR CS145 - COMPUTING I (TENTATIVE)

Lecture TopicsInstructor Readings/HW Lab Topics
Jan 21-25:IntroductionSu,StComputers - 1DOS/Environ/
HandoutsE-MAIL/Prompts
Jan 27-31:SpecificationsStHandoutsC++ Syntax
Quiz1
Feb 3-7:Objects & ClassesStObject - 1Class Design
Test 1A
Feb 10-14:Class DesignStC++ HandoutsClass Design
Quiz 2 Object - 2
Feb 17-21:Class Design/Preparing InformationSt,SuComputers -2IF/CASE
Test 1BObjects - 3
Feb 24-28:Preparing InformationSuComputers - 3PIP3
Quiz 3
Mar 3-7:Computer ContinuumSuComputers - 3Looping
Quiz 4 Object - 4
Mar 10-14:Operating SystemsSu Computers - 4PIP4
Quiz 5
Mar 17-21:SPRING BREAK
Mar 24-28:Operating SystemsSu Computers - 4Arrays
Object - 5
Apr 1-4:Programming Lang.StComputers - 5Arrays
Test 2
Apr 7-11:Programming Lang.StComputers - 5Arrays
Quiz 6 Object - 6
Apr 14-18:Software EngineeringStComputers - 5PIP5
Quiz 7
Apr 21-25:Software EngineeringStComputers - 6Pointers
Test 3
Apr 28-May 2:Visual Comm.StObject - 7More Pointers
Quiz 8
May 5-9:Visual Comm.StObject - 7PIP6
[Graphics?]
Mon., May 12: 8 a.m.FINAL EXAM
St - Stringfellow; Su - Summers
Computers - Computers: Inside & Out; Object - The Object Concept