350 likes | 1.63k Views
CS10051 Section 600 Introduction to Computer Science. Fall 09 Dr. Angela Guercio Dr. Judith Edwards. 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
E N D
CS10051 Section 600Introduction to Computer Science Fall 09 Dr. Angela Guercio Dr. Judith Edwards
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
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 toaguercio@kent.edu • 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 jedwar9@kent.edu • Office Hours: • FF 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
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
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
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
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
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
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
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
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
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
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. Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio
Chapter 1: An Introduction to Computer Science Invitation to Computer Science, C++ Version, Fourth Edition
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
What is an Algorithm? • An algorithm is a • well-orderedcollection of • unambiguousand • effectively computableoperations 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
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
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 Pasta • 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
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
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
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
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 board Step 3. Repeat Step 2. Step 4. Stop. Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio
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
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
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
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
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
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 logicalconstruction of a computer, not the physical construction. Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio
3. Their linguistic realizations • Which language do we use to code the algorithms? • We will start with one linguistic realization, called pseudocodeand 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
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
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
Figure 1.9 Organization of the Text into a Six-Layer Hierarchy Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio
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 Invitation to Computer Science, C++ Version, Fourth Edition - Modified by A. Guercio
BE SURE TO CHECK THE CLASS WEBSITE DAILY FOR YOUR: Reading assignments Homework assignments Other materials related to this course http://www.personal.kent.edu/~aguercio/Fall09/CS10051-600Fa09.html