1 Lecture 1: Course Overview Course: CSE 360 Instructor: Dr. Eric Torng TA: Huamin Chen.

Slides:



Advertisements
Similar presentations
College of Information Technology & Design
Advertisements

MATH 224 – Discrete Mathematics
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 7- 1 Overview 7.1 Introduction to Arrays 7.2 Arrays in Functions 7.3.
1 Lecture 4 Topics –Problem solving Subroutine Theme –REC language class The class of solvable problems Closure properties.
1 Module 3: Classifying Problems One of the main themes of this course will be to classify problems in various ways –By solvability Solvable, “half-solvable”,
1 Lecture 4: Formal Definition of Solvability Analysis of decision problems –Two types of inputs:yes inputs and no inputs –Language recognition problem.
Hardness Results for Problems P: Class of “easy to solve” problems Absolute hardness results Relative hardness results –Reduction technique.
1 Module 2: Fundamental Concepts Problems Programs –Programming languages.
Lecture 9 Recursive and r.e. language classes
1 Module 9 Recursive and r.e. language classes –representing solvable and half-solvable problems Proofs of closure properties –for the set of recursive.
LEARNING FROM OBSERVATIONS Yılmaz KILIÇASLAN. Definition Learning takes place as the agent observes its interactions with the world and its own decision-making.
CSE115/ENGR160 Discrete Mathematics 02/24/11 Ming-Hsuan Yang UC Merced 1.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Lecture 2: Fundamental Concepts
1 Module 2: Fundamental Concepts Problems Programs –Programming languages.
Module 5 Topics Proof of the existence of unsolvable problems
CSE115/ENGR160 Discrete Mathematics 03/03/11 Ming-Hsuan Yang UC Merced 1.
Lecture 14 Go over midterm results Algorithms Efficiency More on prime numbers.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
1 Lecture 10 Proving more specific problems are not recursive Reduction technique –Use subroutine theme to show that if one problem is unsolvable, so is.
1 Lecture 7 Halting Problem –Fundamental program behavior problem –A specific unsolvable problem –Diagonalization technique revisited Proof more complex.
CSE 830: Design and Theory of Algorithms
1 Lecture 2 Topics –Importance of this material Fundamental Limitations –Connecting Problems and Languages Problems –Search, function and decision problems.
1 Lecture 7 Halting Problem –Fundamental program behavior problem –A specific unsolvable problem –Diagonalization technique revisited Proof more complex.
1 Lecture 7 Topics –Problems about program behavior At least problem input is a program/algorithm –Halting Problem Fundamental problem about program behavior.
Hardness Results for Problems P: Class of “easy to solve” problems Absolute hardness results Relative hardness results –Reduction technique.
Hardness Results for Problems
1 Lecture 6 Topics –Proof of the existence of unsolvable problems Problems/languages not in REC Proof Technique –There are more problems/languages than.
1 Lecture 11 Studying structure of REC –Complexity theory overview –Automata theory preview Motivating Problem –string searching.
1 Lecture 14 Studying the internal structure of REC, the set of solvable problems –Complexity theory overview –Automata theory preview Motivating Problem.
1 A Introduction to Data Structures and Algorithm Analysis Data Structures Asst. Professor Kiran Soni.
The Fundamentals: Algorithms, the Integers & Matrices.
1 Design and Analysis of Algorithms تصميم وتحليل الخوارزميات (311 عال) Chapter 1 Introduction to Algorithms.
Introduction CSE 1310 – Introduction to Computers and Programming
Themes of Presentations Rule-based systems/expert systems (Catie) Software Engineering (Khansiri) Fuzzy Logic (Mark) Configuration Systems (Sudhan) *
Lecture No.01 Data Structures Dr. Sohail Aslam
CSC 201 Analysis and Design of Algorithms Lecture 03: Introduction to a CSC 201 Analysis and Design of Algorithms Lecture 03: Introduction to a lgorithms.
Discrete Structures Lecture 11: Algorithms Miss, Yanyan,Ji United International College Thanks to Professor Michael Hvidsten.
DISCRETE MATHEMATICS I CHAPTER 11 Dr. Adam Anthony Spring 2011 Some material adapted from lecture notes provided by Dr. Chungsim Han and Dr. Sam Lomonaco.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Instructor Information: Dr. Radwa El Shawi Room: Week # 1: Overview & Review.
ดร.สุรศักดิ์ มังสิงห์ SPU, Computer Science Dept.
DATA STRUCTURES (CS212D) Week # 1: Overview & Review.
Fall 2002CMSC Discrete Structures1 Enough Mathematical Appetizers! Let us look at something more interesting: Algorithms.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
MCA-2012Data Structure1 Algorithms Rizwan Rehman CCS, DU.
CSC 211 Data Structures Lecture 13
Chapter Algorithms 3.2 The Growth of Functions 3.3 Complexity of Algorithms 3.4 The Integers and Division 3.5 Primes and Greatest Common Divisors.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
The Beauty and Joy of Computing Lecture #6 Algorithms I UC Berkeley EECS Sr Lecturer SOE Dan Garcia.
ALGORITHMS.
DATA STRUCTURES (CS212D) Overview & Review Instructor Information 2  Instructor Information:  Dr. Radwa El Shawi  Room: 
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
BITS Pilani Pilani Campus Data Structure and Algorithms Design Dr. Maheswari Karthikeyan Lecture1.
The Beauty and Joy of Computing Lecture #6 Algorithms I Jon Kotker UC Berkeley EECS 2010, 2013 Microsoft
Advanced Data Structures Lecture 1
CSE15 Discrete Mathematics 03/06/17
Algorithms and Problem Solving
COP 3503 FALL 2012 Shayan Javed Lecture 15
Data Structures and Algorithms
GC211Data Structure Lecture2 Sara Alhajjam.
Algorithms I: An Introduction to Algorithms
CSE322 Recursive and Recursively enumerable sets
2008/09/17: Lecture 4 CMSC 104, Section 0101 John Y. Park
Algorithms Chapter 3 With Question/Answer Animations
Applied Discrete Mathematics Week 6: Computation
Asst. Dr.Surasak Mungsing
Revision of C++.
Discrete Mathematics and its Applications
Presentation transcript:

1 Lecture 1: Course Overview Course: CSE 360 Instructor: Dr. Eric Torng TA: Huamin Chen

2 Topics Course Overview –Algorithms Models of Computation –Problems Functions or Program Specification –What we will be doing in this course

3 What do people do with computers? One answer –Run programs on them.

4 What is a program? Algorithm –define difference later List of instructions –finite –definite; no ambiguity

5 Examples Dough recipe Maximum program

6 Dough recipe Ingredients –3 cups flour –1 cup water Instructions –bring water to boil –thoroughly mix flour and boiling water –refrigerate overnight

7 Maximum program Variables –integer array A[100] –integer max, i; Instructions –max = A[0]; –for (i=1;i<100;i++) IF A[i] > max THEN max = A[i]; –return max;

8 Models of Computation A model of computation is a programming language –Defines concept of legal programs Dough recipe is not a legal computer program Main constraints –available resources –possible operations –(also other parameters)

9 Difference between program and algorithm Algorithm –high level idea Program –implementation of algorithm in a specific programming language/computational model Different programs can implement the same high level algorithm

10 Initial Model of Computation C ++ programming language Modified Church’s Thesis –C ++ is a general model of computation Any algorithm can be expressed as a C ++ program If some algorithm cannot be expressed by a C ++ program, it cannot be expressed in any reasonable programming language

11 What does an algorithm do? A specific program/algorithm is written to solve a specific problem.

12 What is a problem? A problem is a mapping or function between a set of inputs and a set of outputs Example –Sorting problem –Input x: –Output f(x):

13 Sorting problem Inputs Outputs (4,2,3,1) (3,1,2,4) (7,5,1) (1,2,3) (1,2,3,4) (1,5,7) (1,2,3)

14 How to specify a problem Input –Describe what an input instance looks like Output –Describe what task should be performed on the input –In particular, describe what output should be produced

15 Example Problems –Sorting Problem Input –Integers n 1, n 2,..., n k Output –n 1, n 2,..., n k in nondecreasing order –Find element problem Input –Integers n 1, n 2, …, n k –Search key S Output –yes if S is in n 1, n 2, …, n k, no otherwise

16 Observation A problem is a SPECIFICATION for a program –In our case, a problem is very cleanly defined and thus there should be little ambiguity in what is being requested –This is not always true in real life

17 What a computer programmer does: 1) Client gives a problem description to the programmer –often unclear –ask questions! 2) You design an algorithm/program to solve the problem.

18 What do people do with problems? In programming courses –Develop programs to solve these problems In this course –1) We will show there exist problems which cannot be solved by any C++ program Church’s Thesis –What is it and why is it important in this context? Techniques used –Diagonalization technique –Reduction technique

19 What will we do in this course? –2) We then will study restricted computational models Study what can be done Study what cannot be done

20 Quick Review Group work –What is a “model of computation”? –What is a problem? –How do we specify a problem? –What do programming courses teach you to do with problems? –What is one thing we are going to teach you about problems in this course?

21 Key Concepts Algorithms and programs –models of computation/programming languages Problems –function –program specification Unsolvable problems