CS 10051 Section 601 Introduction to Computer Science

  • Slides: 34
Download presentation
CS 10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr.

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

The Syllabus The class web page: http: //www. personal. kent. edu/~aguercio/Fall 08/CS 100 51

The Syllabus The class web page: http: //www. personal. kent. edu/~aguercio/Fall 08/CS 100 51 -601 Fa 08. html n Check it regularly! Assignments, Deadlines, Communications about the class are there! Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 2

Class Administration - section 601 n Class Instructor: Dr. Angela Guercio q q Office:

Class Administration - section 601 n Class Instructor: Dr. Angela Guercio q q Office: 424, Main Hall Phone: 330 244 3424 (KSU ext 53424) Best way to contact me: e-mail to aguercio@kent. edu Office Hours: n TR 10: 00 am - 10: 55 am 12: 25 pm - 1: 55 pm 4: 55 pm - 5: 25 pm q n other times are available by appointment Lab Instructor: Dr. C. David Hunter q q Office: 310 Desk 15, Main Hall Phone: 330 499 -9600 (KSU ext. 53464) Best way to contact me: email to chunter@kent. edu Office Hours: n TR 7: 45 pm – 8: 15 pm Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 3

The Textbooks n G. M. Schneider, J. Gersting – An Invitation to Computer Science,

The Textbooks n G. M. Schneider, J. Gersting – An Invitation to Computer Science, C++ Version – Thomson, 4 th Edition, 2006. n K. Lambert, T. Whaley – Invitation to Computer Science Laboratory Manual: C++ Thomson, ISBN 1 -4188 -3754 -7, 2006. Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 4

The Syllabus: Requirements n Class attendance and Lab attendance are required. q If you

The Syllabus: Requirements n Class attendance and Lab attendance are required. q If you miss a class/lab, let me know ahead of time n q q You are responsible for bringing yourself up-to-date on class material and assignments You cannot miss more than 5 classes without documentation n n you must provide the documented reason. Penalty: drop of the grade (ex from A to B, from B to C, ect. ) Reading material before class is required q Read material once before class and again after class Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 5

The Assignments n n Weekly Laboratory Some Homework q Homework and Laboratory must be

The Assignments n n Weekly Laboratory Some Homework q Homework and Laboratory must be returned by the deadline n Late penalty: 3 points per day Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 6

The Laboratory n A worksheet must be completed at the end of each laboratory

The Laboratory n A worksheet must be completed at the end of each laboratory and returned to your instructor for grading. n If you cannot attend a laboratory, you must attend any other available at this campus or at the Kent campus. q The signature of the lab instructor on the worksheet is required. Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 7

The Exams n 3 Exams q n 1 Final Exam q q n 100

The Exams n 3 Exams q n 1 Final Exam q q n 100 points each Comprehensive 100 points No Make-up exams q 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 8

The Grade n n n Part I q Labs Attendance and Worksheets 25% Part

The Grade n n n Part I q Labs Attendance and Worksheets 25% Part II q Homework and Class Participation q Exam 1 q Exam 2 q Exam 3 q Final Exam 10% 15% 15% 20% Check the syllabus for the grading scale Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 9

ATTENTION TO PASS THE COURSE, YOU MUST PASS EACH PART INDEPENDENTLY! ---- i. e.

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 10

Important Dates – section 601 n n n n Last day to withdraw before

Important Dates – section 601 n n n n 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: 00 Pm – 8: 00 pm) Thanksgiving Recess: Nov. 26 – Nov. 30 Classes End: Dec. 7, 2008 Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 11

Others: more on the syllabus n Read the syllabus for: q q q Course

Others: more on the syllabus n Read the syllabus for: q q q 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 12

Others: Security n n n Emergency: In case of an emergency please contact the

Others: Security n n n 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. q I recommend that you program into your cell phone the previous numbers. Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 13

Chapter 1: An Introduction to Computer Science Invitation to Computer Science, C++ Version, Fourth

Chapter 1: An Introduction to Computer Science Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio

Objectives In this chapter, you will learn about: n The definition of algorithm n

Objectives In this chapter, you will learn about: n The definition of algorithm n The definition of computer science n Overview of the course Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 15

What is an Algorithm? n An algorithm is a q q q well-ordered collection

What is an Algorithm? n An algorithm is a q q q 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 16

Example of Algorithm n An algorithm is a list that looks like q q

Example of Algorithm n An algorithm is a list that looks like q q q q 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 17

The Formal Definition of an Algorithm n q A well-ordered collection of unambiguous and

The Formal Definition of an Algorithm n q 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 1. 2. 3. 4. Boil two quarts of water Add ½ lb of pasta in the water Strain the water Add the sauce Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 18

The Formal Definition of an Algorithm (continued) n Unambiguous operation q q An operation

The Formal Definition of an Algorithm (continued) n Unambiguous operation q q An operation that can be understood and carried out directly by the computing agent without needing to be further simplified or explained Ex. n n n 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 q Q. - What are the primitives of a computer? A. - Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 19

The Formal Definition of an Algorithm (continued) n Effectively computable q Computational process exists

The Formal Definition of an Algorithm (continued) n Effectively computable q Computational process exists that allows computing agent to complete that operation successfully q n 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: q Write all the real numbers between 0 and 1. Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 20

The Formal Definition of an Algorithm (continued) n The result of the algorithm must

The Formal Definition of an Algorithm (continued) n The result of the algorithm must be produced after the execution of a finite number of operations q q 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 21

The Formal Definition of an Algorithm (continued) n It halts in a finite amount

The Formal Definition of an Algorithm (continued) n It halts in a finite amount of time. q n Infinite loop n The algorithm has no provisions to terminate n A common error in the designing of algorithms Do not confuse, "not finite" with "very, very large". q 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. Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 22

The Importance of Algorithmic Problem Solving n Algorithmic solutions can be: q q n

The Importance of Algorithmic Problem Solving n Algorithmic solutions can be: q q n Encoded into some appropriate language Given to a computing agent to execute The computing agent q q Would mechanically follow these instructions and successfully complete the task specified Would not have to understand n n 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 23

Which of those is an algorithm? n Write all the possible numbers on a

Which of those is an algorithm? n Write all the possible numbers on a paper. n Fill 1 cup of sugar. Mix it to 3 cups of milk. n Think of a number. Add 20 to it. n Either wet your hair or lather your hair. Then rinse your hair. n 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 24

Common misconceptions about Computer Science Misconception 1 q Computer science is the study of

Common misconceptions about Computer Science Misconception 1 q Computer science is the study of computers Misconception 2 q Computer science is the study of how to write computer programs Misconception 3 q 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 25

The Definition of Computer Science n Computer science is the study of algorithms including

The Definition of Computer Science n Computer science is the study of algorithms including q q 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 26

1. Their formal and mathematical properties n n It is not enough to design

1. Their formal and mathematical properties n n It is not enough to design an algorithm to solve a problem. We must worry about some additional properties of an algorithm: q q q 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 27

2. Their hardware realizations n Computing entities are required to execute algorithms q q

2. Their hardware realizations n Computing entities are required to execute algorithms q q n Computing entities are not necessarily machines! However our interest will lie with algorithms that execute on computing entities called "computers". How are computer constructed? q 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 28

3. Their linguistic realizations n n n Which language do we use to code

3. Their linguistic realizations n n n 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 29

4. Their applications n What are some of the many important and popular applications

4. Their applications n What are some of the many important and popular applications of computers in current use including: q q q q 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 30

Overview of the course n n n n n 1. The algorithmic foundations of

Overview of the course n n n n n 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 31

Figure 1. 9 Organization of the Text into a Six-Layer Hierarchy Invitation to Computer

Figure 1. 9 Organization of the Text into a Six-Layer Hierarchy Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 32

Summary n Computer science is the study of algorithms n An algorithm is a

Summary n Computer science is the study of algorithms n 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 n If we can specify an algorithm to solve a problem, then we can automate its solution n Computers developed from mechanical calculating devices to modern electronic marvels of miniaturization Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio 33

BE SURE TO CHECK THE CLASS WEBSITE DAILY FOR YOUR: Reading assignments Homework assignments

BE SURE TO CHECK THE CLASS WEBSITE DAILY FOR YOUR: Reading assignments Homework assignments Other materials related to this course http: //www. personal. edu/~aguercioa/Spring 06/CS 10051600. html Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio