CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

34
CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    216
  • download

    1

Transcript of CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

Page 1: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

CS10051 Section 601Introduction to

Computer ScienceFall 08

Dr. Angela Guercio

Dr. C. David Hunter

Page 2: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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/Fall08/CS10051-601Fa08.html

Check it regularly!

Assignments, Deadlines, Communications

about the class

are there!

Page 3: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio

3

Class 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 [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. C. David Hunter Office: 310 Desk 15, Main Hall Phone: 330 499-9600 (KSU ext. 53464) Best way to contact me: email to [email protected] Office Hours:

TR 7:45pm – 8:15pm

Page 4: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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.

Page 5: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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 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

Page 6: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio

6

The Assignments

Weekly Laboratory Some Homework

Homework and Laboratory must be returned by the deadline Late penalty: 3 points per day

Page 7: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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 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.

Page 8: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David 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

Page 9: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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

Page 10: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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.

Page 11: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio

11

Important 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 (6:00Pm – 8:00pm)

Thanksgiving Recess: Nov. 26 – Nov. 30 Classes End: Dec. 7, 2008

Page 12: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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

Page 13: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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.

Page 14: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

Chapter 1: An Introduction to Computer Science

Invitation to Computer Science,

C++ Version, Fourth Edition

Page 15: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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

Page 16: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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.

Page 17: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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

Page 18: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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

Page 19: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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. -

Page 20: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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.

Page 21: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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…

Page 22: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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.

Page 23: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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

Page 24: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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.

Page 25: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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

Page 26: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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

Page 27: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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?

Page 28: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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.

Page 29: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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++.

Page 30: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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

Page 31: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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

Page 32: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio

32

Figure 1.9Organization of the Text into a Six-Layer Hierarchy

Page 33: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

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

Page 34: CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.

BE SURE TO CHECK THE CLASS WEBSITE DAILY FOR YOUR:

Reading assignmentsHomework assignmentsOther materials related to this course

http://www.personal.edu/~aguercioa/Spring06/CS10051-600.html