CPS 120 - Washtenaw Community College

Download Report

Transcript CPS 120 - Washtenaw Community College

CPS120: Introduction to
Computer Science
Winter: 2003
Instructor: Paul J. Millis
Course Details
•
•
•
•
•
•
Instructor: Millis, Paul
CRN: 14452
Section: N1
Dates: 02/18 - 05/01
Times:
Tu 06:00PM - 08:10PM TI 130
Th 06:00PM - 08:10PM TI 112
Instructor Details
Instructor: Paul J. Millis
Office Phone Number: (734) 647-7508
Class Email: [email protected]
Emergency Email: [email protected]
Office Hours:
After class and by appointment
Course Description
• This is a course in introductory problem solving
and programming techniques that introduces
students to computers and computer programming.
• It is assumed that you have a basic high school
mathematics background, although no prior
computer science is assumed.
• Topics covered will include the general
characteristics of computers, the properties of
algorithms, techniques of problem solving and
creating of computer programs.
Objectives







Basic concepts and vocabulary
Internal representation of data
Programming concepts
Operating systems
Programming languages and software
Databases
Data communications
Tentative Schedule
• I reserve to make appropriate changes to the
schedule as we go along. I will notify you
of all changes that are made at the earliest
possible juncture and all changes will be
posted to the class web site.
N
o
.
Date
Topics
Text
Reading
s
Other Readings
Worksheets
Assignment
Handouts/Sites
1
02/18/0
3
Syllabus Introduction Binary
Representations
Chapter
1
History of Computing
---
---
Syllabus
2
02/20/0
3
Computer Components
Chapter
5
Computer Hardware
#1 Computer
Basics
Due: 03/04
---
Buying Guide
3
03/04/0
3
Data Representation
Representation Data /
Positional Notation
Using FTP
Chapter
3
---
---
---
Hexadecimal
Equivalents, ASCII
Codes
4
03/06/0
3
Problem Solving & Program
Design Converting to Decimal
Chapter
6 (140162)
---
#2 Pseudocode
& Flowcharts
Due: 03/11
---
Pseudocode,
Programming
Process
5
03/11/0
3
Gates & Circuits, Boolean
Logic Converting to Other
Bases
Chapter
4
Logic Gates, How Boolean
Logic Works, How
Electronic Gates Work
#3 Computer
Logic
Due: 3/18
---
Logic Gates
Summary
6
03/13/0
3
Lower Level
Languages, Addition &
Subtraction
Chapter
7
---
---
---
---
7
03/18/0
3
Operating Systems
Signed Numbers
Chapter
10
Computer Mathematics
#4 Computer
Mathematics
Due: 03/25
---
Unix
8
03/20/0
3
File Systems & Directories
Operations
Chapter
12
---
#5 Directories &
Files
Due: 03/27
---
Text Editors
9
03/25/0
3
Spreadsheets, Data Base
Management
Systems, Midterm Exam
Review
Chapter
11
SQL Introduction
#6 DBMS
Queries
Due: 04/01
---
---
1
0
03/27/0
3
Midterm Exam
---
---
---
---
---
1
1
04/01
/03
High Level Language Paradigms Anatomy of a
C++ Program
Chapter 8(225-231)
C++ Appendix Chapter 1 (1-5)
C++ Intro
---
Progra
m #1
Due 4/8
Compiling on Unix
Managing
I/O,
Output,
Strings,
String
Functions
#7 Variables &
Constants
Due: 04/08
Progra
m #2
Due:
04/10
Compiling with
Visual C++
1
2
04/03
/03
Variable & Data Types, Input / Output
Chapter 8 (231-240)
C++ Appendix Chapter 2 (5-9)
Chapter 3 (9-14
1
3
04/08
/03
Basic Structure, Decision Making, Debugging
Intro
Chapter 8 (240-246)
C++ Appendix Chapter 4 (14-18)
Decision
Making,
If
Statements
#8 Operations &
Structure
Due: 04/10
Progra
m #3
Due:
04/15
Case Study
1
4
04/10
/03
Looping
Logic Errors
Chapter 8 (246-250)
C++ Appendix Chapter4 (18-21)
Looping,
do...while
#9 Looping
Due: 04/15
Progra
m #4
Due:
04/17
---
1
5
04/15
/03
Functions
Chapter 8 (250-257)
C++ Appendix Chapter 4 (21-28)
Functions I,
Functions II,
Using
Functions
#10 Functions
Due: 04/22
Progra
m #5
Due:
04/22
Functions
1
6
04/17
/03
Data Files,
Arrays,
String Functions
Chapter 8 (257-260)
C++ Appendix Chapter 5 (28-32)
Arrays,
Matrices
#11 Arrays
Due: 04/22
---
---
1
7
04/22
/03
Abstract Data Types,
Sorting,
Searching
Chapter 9
C++ Appendix Chapter 6 (32-37)
---
#12 Sorts &
Searches
Due: 04/24
---
---
1
8
04/24
/03
Data Structures,
Object-Oriented Programming,
Networking,
World Wide Web
Chapter 6(164-180),
Chapter 8 (261-265),
C++ Appendix Chapter 7 (37-48),
Chapter 15,
Chapter 16
---
---
---
---
1
9
04/29
/03
Exam Review
Chapters 15/16
---
---
---
---
2
0
05/01
/03
Final Exam
---
---
---
---
---
Text
• Computer Science Illuminated by Nell Dale
and John Lewis, published by Jones and
Bartlett Publishers, copyright 2002, ISBN:
0-7637-1760-6
Recommended
• Computers Simplified, 5th Edition,
Published by IDG Books Worldwide Inc.,
copyright 2000, ISBN: 0-7645-3524-2
• Introduction to Computer Science by
Ramon A. Mata-Toledo and Pauline K.
Cushman, published by McGraw-Hill,
copyright 2000, ISBN: 0-07-134554-X
Other Sources of Information
• Introduction to Computer Science Using C++ by Todd Knowlton,
published by South-Western Educational Publishing, copyright 1998,
ISBN: 0-538-67600-0
• Sams Teach Yourself C++ in 21 Days (4th Edition) by Jesse Liberty,
published by Sams, April 2001; ISBN: 067232072X
• Programming Logic for Business by Laura Saret, published by
McGraw-Hill Higher Education, November 2000; ISBN: 0073660965
• A Guide to Programming Logic and Design - Introductory by Joyce M.
Farrell published by Course Technology, March 1999; ISBN:
0760011486
• An Introduction to Programming with C++, Second Edition by Diane
Zak, published by Course Technology, December 2000; ISBN:
0619033592
• Starting Out Quickly with Visual C++ by Doug White, published by
Delmar Publishers, June 2001; ISBN: 1576760693
Other Resources
• You will need approximately 2 floppy disks with
labels. One floppy should contain your working
files.
– Make sure you have these on the nights of the labs
– Zip disks are also OK
– YOU are responsible for backups
• You need to use your WCC email account for the
purposes of this class
– If you haven't activated it, check the course schedule
for directions on how to do this
– Techs in the labs will help you with this
Homework
• Please NOTE: It is your responsibility to know
when things are due. Please check the website.
– Worksheets: There are 12 worksheets that are collected
and graded in this class. They will generally be due at
the end of class following the class in which they are
assigned.
– Programming assignments: There are 5 programming
assignments that must be completed outside of class.
You will have to spend a significant amount of time in
the completing the programming. These
programming assignments are due one week after they
are assigned.
Late Assignments
• If your program does not compile or work
correctly, you should still submit it
Late Assignments
• While work will be accepted late, work
received more than one class period late
will receive one-half credit, if more than
two class periods late work will not receive
credit; all work must be completed by the
final class.
Compilers
• It is strongly encouraged that you install the Visual
C++ compiler or another available compiler on
your home computer so that you will be able to
complete your work there. Otherwise, you are
expected to use the college's computer labs.
• Starting Out Quickly With Visual C++ includes a
compiler, as does Teach Yourself C++
• Other compilers are available on the web as
freeware
Grading
• Grades will be calculated as follows:
– Programs and Worksheets
– Quizzes and/or Tests
– Total
40%
60%
100%
• You will receive one-third (1/4) of a point for each
class you attend, up to a total of five (5) points if
you attend all classes. These are extra credit and
are only given if you actually attend the entire
class period. There will be no points awarded for
any absence for any reason.
Integrity Policy
• Unless an assignment is specifically
designated as a group project, all students
submitting duplicate programs (or slight
variations) will be penalized at the
instructor’s discretion, even the student who
did all or most of the original work
– I recognize these are simple programs, so don't
stress over this issue
Quizzes
• Quizzes may be given at the beginning and/or end
of a number of classes.
– Expect approximately four
• Students who are not present for a quiz, unless
they have an emergency and have informed the
instructor, will receive a zero.
• There is no makeup opportunity for quizzes.
• I will drop the lowest score on quizzes to allow for
emergencies students have during the term.
Final Grades
• The letter grade will be based on the following
percentages:
– Grades will be assigned using the following numeric
scale (no rounding up will be done):
•
•
•
•
•
•
•
•
•
A = 92 - 100%,
A- = 90 - 91.9%,
B+ = 88 - 89.9%
B = 82 - 87.9%
B- = 80 - 81.9%
C+ = 78 - 79.9%
C = 72 - 77.9%
C- = 70 - 71.9%
D = 60 - 69.9%
Exams
• There will be two exams in this class, a midterm on
03/27/03 and the final on 05/01/03
• These tests will contain multiple choice and true & false
questions as well as debugging and programming problems
• The mid-term will be more conceptual and the final more
practical in nature. The final will be cummulative
• Make-up exams will be given only for emergency
circumstances
– The instructor reserves the right to make a decision in all such
cases
• If an emergency does arise, you must call or email the
instructor as soon as possible before the exam in order to
arrange for a make-up
Assignment Scheduling
• Worksheets will generally be due at the next class
after they are assigned but check the website for
due dates
• Programming assignments will generally be due
one week after they are assigned but check the
syllabus for each specific assignment
• Late assignments mean significantly reduced
points
• Zero grades will be given for missed quizzes,
homework, and program assignments if the
instructor has not been consulted in advance.
Class Attendance Policy
• Class attendance is mandatory and will be
taken each class period. If you have a need
to miss a class, please inform the instructor
by email
CPS 120: Introduction to Computer Science
• This course prepares you to continue with programming
languages
• We will focus on the logical thinking needed for
programming
• Topics include:
–
–
–
–
–
–
–
Tools of structured programming techniques
Basic input/output logic development
Working with documentation
Arithmetic operations
Program and logic development
Data validation and logic development
Control break-program (multiple level) and logic development