Download - CS10051 Section 600 Introduction to Computer Science Fall 09 Dr. Angela Guercio Dr. Judith Edwards
CS10051 Section 600Introduction to
Computer ScienceFall 09
Dr. Angela Guercio
Dr. Judith Edwards
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 2
The Syllabus
The class web page:http://www.personal.kent.edu/~aguercio/Fall09/CS10051-600Fa09.html
Check it regularly!
Assignments, Deadlines, Communications
about the class
are there!
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 3
Class Administration - section 600 Class Instructor: Dr. Angela Guercio
Office: 424, Main Hall Phone: 330 244 3424 (KSU ext 53424) Best way to contact me: e-mail to [email protected] Office Hours:
TR 10:00am - 10:55am 12:25pm - 1:55pm 4:55pm - 5:25pm other times are available by appointment
Lab Instructor: Dr. Judith Edwards Office: 310G, Main Hall Best way to contact me: e-mail to [email protected] Office Hours:
F F 9:40-10:55am 1:15pm – 2:30pm other times are available by appointment
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 4
The Textbooks
G. M. Schneider, J. Gersting – An Invitation to Computer Science, C++ Version – Thomson, 4th Edition, 2006.
K. Lambert, T. Whaley – Invitation to Computer Science Laboratory Manual: C++ - Thomson, ISBN 1-4188-3754-7, 2006.
LabWebsite: http://www.personal.kent.edu/~aguercio/lab51/labindex.html
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 5
The Syllabus: Requirements
Class attendance and Lab attendance are required. If you miss a class/lab, let me know ahead of time
you must provide the documented reason. You are responsible for bringing yourself up-to-date on
class material and assignments You cannot miss more than 4 classes without
documentation Penalty: drop of the grade (ex. from A to B, from B to C, etc.)
Reading material before class is required Read material once before class and again after class
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 6
The Assignments
Weekly Laboratory Most of the labs are from the Lab Manual Those labs that are not coming from the Lab
Manual will be posted on the Laboratory Website
Some Homework Homework and Laboratory must be returned by
the deadline Late penalty: 3 points per day
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 7
The Laboratory A worksheet must be completed at the end of each
laboratory and returned to your instructor for grading.
If you cannot attend your laboratory, you must attend any other available at this campus or at the Kent campus. Attending another lab may only to be done due to illness or
similar unusual circumstance. The signature of the lab instructor on the worksheet is required. Other labs available this semester
TR 6:45-7:45 Instructor: Dr. Hunter.
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 8
The Exams
3 Exams 100 points each
1 Final Exam Comprehensive 100 points
No Make-up exams Except in extreme case and only if I have been notified
prior the exam has been issued
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 9
The Grade Part I
Labs Attendance and Worksheets 25%
Part II Homework and Class Participation 10% Exam 1 15% Exam 2 15% Exam 3 15% Final Exam 20%
Check the syllabus for the grading scale
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 10
ATTENTION
TO PASS THE COURSE, YOU MUST PASS
EACH PART INDEPENDENTLY!
---- i.e. an A in PART II and an F in PART I or vice versa,
is NOT a passing grade.
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 11
Important Dates – section 600 Last day to withdraw before grade W is assigned, is
Sept.13, 2009 Last day to drop the class is Nov. 8, 2009 Exam 1 is Tuesday, Sept. 29 Exam 2 is Tuesday, Oct. 27 Exam 3 is Thursday, Nov. 19 Final Exam is Tuesday, Dec. 15 (1:00 pm – 3:00pm) Thanksgiving Recess: Nov. 25 – Nov. 29 Classes End: Dec. 15, 2009
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 12
Others: more on the syllabus
Read the syllabus for: Course Withdrawal Academic Honesty Policy Students with Disabilities Classes Canceled – Campus Closings Conduct And other important issues
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 13
Others: Security
Emergency: In case of an emergency please contact the security on campus.
Security phone on campus: #53123 Security cell phone (330) 705-0430 or, of
course, 911. I recommend that you program into your cell
phone the previous numbers.
Chapter 1: An Introduction to Computer Science
Invitation to Computer Science,
C++ Version, Fourth Edition
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 15
Objectives
In this chapter, you will learn about:
The definition of algorithm
The definition of computer science
Overview of the course
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 16
What is an Algorithm?
An algorithm is a well-ordered collection of unambiguous and effectively computable operations that, when
executed, produces a result and halts in a finite amount of time.
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 17
Example of Algorithm
An algorithm is a list that looks like STEP 1: Do something STEP 2: Do something STEP 3: Do something . . . . . . STEP N: Stop, you are finished
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 18
The Formal Definition of an Algorithm
Algorithm A well-ordered collection of unambiguous and
effectively computable operations that, when executed, produces a result and halts in a finite amount of time
Example: Make Pasta1. Boil two quarts of water
2. Add ½ lb of pasta in the water
3. Strain the water
4. Add the sauce
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 19
The Formal Definition of an Algorithm (continued) Unambiguous operation
An operation that can be understood and carried out directly by the computing agent without needing to be further simplified or explained
Ex. Boil some water (ambiguous) Boil 2 quarts of water (unambiguous)
An operation that is unambiguous is called a primitive operation (or just a primitive) Q. - What are the primitives of a computer? A. -
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 20
The Formal Definition of an Algorithm (continued)
Effectively computable Computational process exists that allows computing
agent to complete that operation successfully Note that a given collection of operations may be an
algorithm with respect to one computing agent, but not with respect to another computing agent!!
Example of not effectively computable operations: Write all the real numbers between 0 and 1.
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 21
The Formal Definition of an Algorithm (continued)
The result of the algorithm must be produced after the execution of a finite number of operations
i.e. Can the user of the algorithm observe a result produced by the algorithm?
A result can be a sign, a sound, an alarm, a number, a message of error, ect…
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 22
The Formal Definition of an Algorithm (continued) It halts in a finite amount of time.
Infinite loop The algorithm has no provisions to terminate A common error in the designing of algorithms
Do not confuse, "not finite" with "very, very large".
Q. - Is this loop “finite”, “infinite”, or “very, very large”?Step 1. Write the number 1 on the board.Step 2. Add 1 to the number you just wrote and write the result
on the boardStep 3. Repeat Step 2.Step 4. Stop.
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 23
The Importance of Algorithmic Problem Solving Algorithmic solutions can be:
Encoded into some appropriate language Given to a computing agent to execute
The computing agent Would mechanically follow these instructions and
successfully complete the task specified Would not have to understand
Creative processes that went into discovery of solution Principles and concepts that underlie the problem
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 24
Which of those is an algorithm? Write all the possible numbers on a paper. Fill 1 cup of sugar. Mix it to 3 cups of milk. Think of a number. Add 20 to it. Either wet your hair or lather your hair.
Then rinse your hair. If your hair are dirty, wet your hair; lather
your hair; rinse your hair; else go back to study.
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 25
Common misconceptions about Computer Science
Misconception 1
Computer science is the study of computers
Misconception 2
Computer science is the study of how to write computer programs
Misconception 3
Computer science is the study of the uses and applications of computers and software
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 26
The Definition of Computer Science Computer science is the study of algorithms
including
1. Their formal and mathematical properties 2. Their hardware realizations 3. Their linguistic realizations 4. Their applications
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 27
1. Their formal and mathematical properties
It is not enough to design an algorithm to solve a problem.
We must worry about some additional properties of an algorithm: How efficient is it? What kinds of resources must be used to execute
it? How does it compare to other algorithms that solve
the same problem?
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 28
2. Their hardware realizations Computing entities are required to execute
algorithms Computing entities are not necessarily machines! However our interest will lie with algorithms that execute
on computing entities called "computers". How are computer constructed?
The emphasis of the course will be on the logical construction of a computer, not the physical construction.
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 29
3. Their linguistic realizations Which language do we use to code the
algorithms? We will start with one linguistic realization,
called pseudocode and later will look at possible different realizations in various programming languages.
In particular we will do some introductory programming in C++.
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 30
4. Their applications
What are some of the many important and popular applications of computers in current use including: numerical problem solving information retrieval graphics networking artificial intelligence telecommunications modeling and simulation
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 31
Overview of the course 1. The algorithmic foundations of computer science. (Ch 1-3) 2. The hardware world. (Ch 4-5) 3. The virtual machine. (Ch 6-7) 4. The software world. (Ch 8-11) 5. Applications. (Ch 12-14) 6. Social issues. (Ch 15)
Note these correspond to the levels of the pyramid on the cover of your text.
Each level addresses one aspect of the definition of computer science
Computer science/Algorithms
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 32
Figure 1.9Organization of the Text into a Six-Layer Hierarchy
Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 33
Summary Computer science is the study of algorithms
An algorithm is a well-ordered collection of unambiguous and effectively computable operations that, when executed, produces a result and halts in a finite amount of time
If we can specify an algorithm to solve a problem, then we can automate its solution
Computers developed from mechanical calculating devices to modern electronic marvels of miniaturization
BE SURE TO CHECK THE CLASS WEBSITE DAILY FOR YOUR:
Reading assignmentsHomework assignmentsOther materials related to this course
http://www.personal.kent.edu/~aguercio/Fall09/CS10051-600Fa09.html