Title: CS10051 Section 601 Introduction to Computer Science
1CS10051 Section 601Introduction to Computer
Science
- Fall 08
- Dr. Angela Guercio
- Dr. C. David Hunter
2The Syllabus
- The class web page
- http//www.personal.kent.edu/aguercio/Fall08/CS10
051-601Fa08.html - Check it regularly!
- Assignments, Deadlines, Communications
- about the class
- are there!
3Class Administration - section 601
- Class Instructor Dr. Angela Guercio
- Office 424, Main Hall
- Phone 330 244 3424 (KSU ext 53424)
- Best way to contact me e-mail to
aguercio_at_kent.edu - Office Hours
- TR 1000am - 1055am 1225pm - 155pm 455pm -
525pm - other times are available by appointment
- Lab Instructor Dr. C. David Hunter
- Office 310 Desk 15, Main Hall
- Phone 330 499-9600 (KSU ext. 53464)
- Best way to contact me email to chunter_at_kent.edu
- Office Hours
- TR 745pm 815pm
4The 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.
5The 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 5 classes without
documentation - Penalty drop of the grade (ex from A to B, from
B to C, ect.) - Reading material before class is required
- Read material once before class and again after
class
6The Assignments
- Weekly Laboratory
- Some Homework
- Homework and Laboratory must be returned by the
deadline - Late penalty 3 points per day
7The Laboratory
- A worksheet must be completed at the end of each
laboratory and returned to your instructor for
grading. - If you cannot attend a laboratory, you must
attend any other available at this campus or at
the Kent campus. - The signature of the lab instructor on the
worksheet is required.
8The 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
9The 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
10ATTENTION
- 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.
11Important Dates section 601
- Last day to withdraw before grade W is assigned,
is Sept. 7, 2008 - Last day to drop the class is Nov. 2, 2008
- Exam 1 is Tuesday, Sept. 23
- Exam 2 is Tuesday, Oct. 21
- Exam 3 is Thursday, Nov. 13
- Final Exam is Thursday, Dec. 11 (600Pm 800pm)
- Thanksgiving Recess Nov. 26 Nov. 30
- Classes End Dec. 7, 2008
12Others 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
13Others 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.
14Chapter 1 An Introduction to Computer Science
- Invitation to Computer Science,
- C Version, Fourth Edition
15Objectives
- In this chapter, you will learn about
- The definition of algorithm
- The definition of computer science
- Overview of the course
16What 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.
17Example 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
18The 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 Pasta
- Boil two quarts of water
- Add ½ lb of pasta in the water
- Strain the water
- Add the sauce
19The 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. -
20The 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.
21The 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
22The 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 board - Step 3. Repeat Step 2.
- Step 4. Stop.
23The 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
24Which 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.
25Common 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
26The 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
271. 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?
282. 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.
293. 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.
304. 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
31Overview 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
32- Figure 1.9
- Organization of the Text into a Six-Layer
Hierarchy
33Summary
- 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
34BE SURE TO CHECK THE CLASS WEBSITE DAILY FOR YOUR
- Reading assignments
- Homework assignments
- Other materials related to this course
http//www.personal.edu/aguercioa/Spring06/CS1005
1-600.html