Algorithms and Data Structures
|
|
- Rudolph Fisher
- 5 years ago
- Views:
Transcription
1 Algorithms and Data Structures Course Introduction Antonio Carzaniga Faculty of Informatics University of Lugano October 25, 2006
2 Outline General course information Program Preliminary schedule Motivating example
3 General Information On-line course information on Moodle: and on my web page:
4 General Information On-line course information on Moodle: and on my web page: Announcements you are responsible for reading the announcements page
5 General Information On-line course information on Moodle: and on my web page: Announcements you are responsible for reading the announcements page Office hours Antonio Carzaniga: by appointment Nicolas Schiper: Monday 15:30 16:30, Wed 15:30 16:30
6 Textbook 1 Introduction to Algorithms Second Edition Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Clifford Stein The MIT Press
7 Textbook 2 Algorithms Sanjoy Dasgupta Christos H. Papadimitriou Umesh.V. Vazirani Mc Graw-Hill
8 Evaluation +50% projects 3 5 assignments grades added together, thus resulting in a weighted average +20% midterm exam +30% final exam ±10% instructor s discretionary evaluation participation extra credits trajectory...
9 Evaluation +50% projects 3 5 assignments grades added together, thus resulting in a weighted average +20% midterm exam +30% final exam ±10% instructor s discretionary evaluation participation extra credits trajectory % plagiarism penalties
10 Plagiarism
11 Plagiarism A student should never take someone else s material and present it as his or her own. Doing so means committing plagiarism.
12 Plagiarism A student should never take someone else s material and present it as his or her own. Doing so means committing plagiarism. material means ideas, words, code, suggestions, corrections on one s work, etc. Using someone else s material may be appropriate e.g., software libraries always clearly identify the external material, and acknowledge its source. Failing to do so means committing plagiarism. the work will be evaluated based on its added value
13 Plagiarism A student should never take someone else s material and present it as his or her own. Doing so means committing plagiarism. material means ideas, words, code, suggestions, corrections on one s work, etc. Using someone else s material may be appropriate e.g., software libraries always clearly identify the external material, and acknowledge its source. Failing to do so means committing plagiarism. the work will be evaluated based on its added value Committing plagiarism on an assignment or an exam will result in failing that assignment or that exam loosing one or more points in the final note! Penalties may be escalated in accordance with the regulations of the Faculty of Informatics
14 Deadlines
15 Deadlines Deadlines are firm.
16 Deadlines Deadlines are firm. Exceptions may be granted at the instructor s discretion only for documented medical conditions or other documented emergencies
17 Deadlines Deadlines are firm. Exceptions may be granted at the instructor s discretion only for documented medical conditions or other documented emergencies Each late day will reduce the assignment s grade by one third of the total value of that assignment
18 Deadlines Deadlines are firm. Exceptions may be granted at the instructor s discretion only for documented medical conditions or other documented emergencies Each late day will reduce the assignment s grade by one third of the total value of that assignment Corollary 1. The grade of an assignment turned in more than two days late is 0
19 Deadlines Deadlines are firm. Exceptions may be granted at the instructor s discretion only for documented medical conditions or other documented emergencies Each late day will reduce the assignment s grade by one third of the total value of that assignment Corollary 1. The grade of an assignment turned in more than two days late is 0 The proof of Corollary 1 is left as an exercise
20 Now let s move on to the real interesting and fun stuff...
21 Example A sequence of numbers 0, 1, 1, 2, 3, 5, 8, 13, 21, 34,...
22 Example A sequence of numbers 0, 1, 1, 2, 3, 5, 8, 13, 21, 34,... The well-known Fibonacci sequence Leonardo da Pisa (ca ca. 1250) son of Guglielmo Bonaccio a.k.a. Leonardo Fibonacci
23 The Fibonacci Sequence Mathematical definition of the Fibonacci sequence 0 if n = 0 F n = 1 if n = 1 F n 1 + F n 2 if n > 1
24 The Fibonacci Sequence Mathematical definition of the Fibonacci sequence 0 if n = 0 F n = 1 if n = 1 F n 1 + F n 2 if n > 1 In pseudo-code FIBONACCI(n) 1 if n = 0 2 then return 0 3 elseif n = 1 4 then return 1 5 else return FIBONACCI(n 1) + FIBONACCI(n 2)
25 Questions on Our First Algorithm FIBONACCI(n) 1 if n = 0 2 then return 0 3 elseif n = 1 4 then return 1 5 else return FIBONACCI(n 1) + FIBONACCI(n 2)
26 Questions on Our First Algorithm FIBONACCI(n) 1 if n = 0 2 then return 0 3 elseif n = 1 4 then return 1 5 else return FIBONACCI(n 1) + FIBONACCI(n 2) 1. Is the algorithm correct? for every valid input, does it terminate? if so, does it do the right thing?
27 Questions on Our First Algorithm FIBONACCI(n) 1 if n = 0 2 then return 0 3 elseif n = 1 4 then return 1 5 else return FIBONACCI(n 1) + FIBONACCI(n 2) 1. Is the algorithm correct? for every valid input, does it terminate? if so, does it do the right thing? 2. How much time does it take to complete?
28 Questions on Our First Algorithm FIBONACCI(n) 1 if n = 0 2 then return 0 3 elseif n = 1 4 then return 1 5 else return FIBONACCI(n 1) + FIBONACCI(n 2) 1. Is the algorithm correct? for every valid input, does it terminate? if so, does it do the right thing? 2. How much time does it take to complete? 3. Can we do better?
29 Correctness
30 Correctness FIBONACCI(n) 1 if n = 0 2 then return 0 3 elseif n = 1 4 then return 1 5 else return FIBONACCI(n 1) + FIBONACCI(n 2) 0 if n = 0 F n = 1 if n = 1 F n 1 + F n 2 if n > 1
31 Correctness FIBONACCI(n) 1 if n = 0 2 then return 0 3 elseif n = 1 4 then return 1 5 else return FIBONACCI(n 1) + FIBONACCI(n 2) 0 if n = 0 F n = 1 if n = 1 F n 1 + F n 2 if n > 1 The algorithm is clearly correct assuming n 0
32 Performance How long does it take?
33 Performance How long does it take? Let s try it...
34 Results Time (seconds) "Python" "Scheme" "C" "C-wiz" "Java" "C-gcc" n
35 Comments
36 Comments Different implementations perform differently it is better to let the compiler do the optimization simple language tricks don t seem to pay off
37 Comments Different implementations perform differently it is better to let the compiler do the optimization simple language tricks don t seem to pay off However, the differences do not seem to be substantial all implementations, sooner or later, seem to hit a wall...
38 Comments Different implementations perform differently it is better to let the compiler do the optimization simple language tricks don t seem to pay off However, the differences do not seem to be substantial all implementations, sooner or later, seem to hit a wall... Conclusion: the problem lies with the algorithm
39 Complexity of Our First Algorithm We need a mathematical characterization of the performance of the algorithm We ll call it the algorithm s computational complexity
40 Complexity of Our First Algorithm We need a mathematical characterization of the performance of the algorithm We ll call it the algorithm s computational complexity Formally, but a bit superficially for now, let T(n) be the number of basic steps needed to compute FIBONACCI(n)
41 Complexity of Our First Algorithm We need a mathematical characterization of the performance of the algorithm We ll call it the algorithm s computational complexity Formally, but a bit superficially for now, let T(n) be the number of basic steps needed to compute FIBONACCI(n) FIBONACCI(n) 1 if n = 0 2 then return 0 3 elseif n = 1 4 then return 1 5 else return FIBONACCI(n 1) + FIBONACCI(n 2)
42 Complexity of Our First Algorithm We need a mathematical characterization of the performance of the algorithm We ll call it the algorithm s computational complexity Formally, but a bit superficially for now, let T(n) be the number of basic steps needed to compute FIBONACCI(n) FIBONACCI(n) 1 if n = 0 2 then return 0 3 elseif n = 1 4 then return 1 5 else return FIBONACCI(n 1) + FIBONACCI(n 2) T(0) = 2; T(1) = 3
43 Complexity of Our First Algorithm We need a mathematical characterization of the performance of the algorithm We ll call it the algorithm s computational complexity Formally, but a bit superficially for now, let T(n) be the number of basic steps needed to compute FIBONACCI(n) FIBONACCI(n) 1 if n = 0 2 then return 0 3 elseif n = 1 4 then return 1 5 else return FIBONACCI(n 1) + FIBONACCI(n 2) T(0) = 2; T(1) = 3 T(n) = T(n 1) + T(n 2) + 3
44 Complexity of Our First Algorithm We need a mathematical characterization of the performance of the algorithm We ll call it the algorithm s computational complexity Formally, but a bit superficially for now, let T(n) be the number of basic steps needed to compute FIBONACCI(n) FIBONACCI(n) 1 if n = 0 2 then return 0 3 elseif n = 1 4 then return 1 5 else return FIBONACCI(n 1) + FIBONACCI(n 2) T(0) = 2; T(1) = 3 T(n) = T(n 1) + T(n 2) + 3 T(n) F n
45 Complexity of Our First Algorithm (2) So, let s try to understand how F n grows with n T(n) F n = F n 1 + F n 2
46 Complexity of Our First Algorithm (2) So, let s try to understand how F n grows with n T(n) F n = F n 1 + F n 2 Now, since F n F n 1 F n 2 F n 3... F n 2F n 2
47 Complexity of Our First Algorithm (2) So, let s try to understand how F n grows with n T(n) F n = F n 1 + F n 2 Now, since F n F n 1 F n 2 F n 3... F n 2F n 2 2(2F n 4 )
48 Complexity of Our First Algorithm (2) So, let s try to understand how F n grows with n T(n) F n = F n 1 + F n 2 Now, since F n F n 1 F n 2 F n 3... F n 2F n 2 2(2F n 4 ) 2(2(2F n 6 ))
49 Complexity of Our First Algorithm (2) So, let s try to understand how F n grows with n T(n) F n = F n 1 + F n 2 Now, since F n F n 1 F n 2 F n 3... F n 2F n 2 2(2F n 4 ) 2(2(2F n 6 ))...
50 Complexity of Our First Algorithm (2) So, let s try to understand how F n grows with n T(n) F n = F n 1 + F n 2 Now, since F n F n 1 F n 2 F n 3... F n 2F n 2 2(2F n 4 ) 2(2(2F n 6 ))... 2 n 2
51 Complexity of Our First Algorithm (2) So, let s try to understand how F n grows with n T(n) F n = F n 1 + F n 2 Now, since F n F n 1 F n 2 F n 3... F n 2F n 2 2(2F n 4 ) 2(2(2F n 6 ))... 2 n 2 This means that T(n) ( 2) n (1.4) n
52 Complexity of Our First Algorithm (2) So, let s try to understand how F n grows with n T(n) F n = F n 1 + F n 2 Now, since F n F n 1 F n 2 F n 3... F n 2F n 2 2(2F n 4 ) 2(2(2F n 6 ))... 2 n 2 This means that T(n) ( 2) n (1.4) n T(n) grows exponentially with n
53 Complexity of Our First Algorithm (2) So, let s try to understand how F n grows with n T(n) F n = F n 1 + F n 2 Now, since F n F n 1 F n 2 F n 3... F n 2F n 2 2(2F n 4 ) 2(2(2F n 6 ))... 2 n 2 This means that T(n) ( 2) n (1.4) n T(n) grows exponentially with n Can we do better?
54 A Better Algorithm Again, the sequence is 0, 1, 1, 2, 3, 5, 8, 13, 21, 34,...
55 A Better Algorithm Again, the sequence is 0, 1, 1, 2, 3, 5, 8, 13, 21, 34,... Idea: we can build F n from the ground up!
56 A Better Algorithm Again, the sequence is 0, 1, 1, 2, 3, 5, 8, 13, 21, 34,... Idea: we can build F n from the ground up! SMARTFIBONACCI(n) 1 if n = 0 2 then return 0 3 elseif n = 1 4 then return 1 5 else pprev 0 6 prev 1 7 for i 2 to n 8 do f prev + pprev 9 pprev prev 10 prev f 11 return f
57 Results Time (seconds) "PythonSmart" "Scheme" "C" "C-wiz" "Java" "C-gcc" n
58 Complexity of SmartFibonacci SMARTFIBONACCI(n) 1 if n = 0 2 then return 0 3 elseif n = 1 4 then return 1 5 else prev 0 6 pprev 1 7 for i 2 to n 8 do f prev + pprev 9 pprev prev 10 prev f 11 return f
59 Complexity of SmartFibonacci SMARTFIBONACCI(n) 1 if n = 0 2 then return 0 3 elseif n = 1 4 then return 1 5 else prev 0 6 pprev 1 7 for i 2 to n 8 do f prev + pprev 9 pprev prev 10 prev f 11 return f T(n) =
60 Complexity of SmartFibonacci SMARTFIBONACCI(n) 1 if n = 0 2 then return 0 3 elseif n = 1 4 then return 1 5 else prev 0 6 pprev 1 7 for i 2 to n 8 do f prev + pprev 9 pprev prev 10 prev f 11 return f T(n) = 6 + 6(n 1)
61 Complexity of SmartFibonacci SMARTFIBONACCI(n) 1 if n = 0 2 then return 0 3 elseif n = 1 4 then return 1 5 else prev 0 6 pprev 1 7 for i 2 to n 8 do f prev + pprev 9 pprev prev 10 prev f 11 return f T(n) = 6 + 6(n 1) = 6n
62 Complexity of SmartFibonacci SMARTFIBONACCI(n) 1 if n = 0 2 then return 0 3 elseif n = 1 4 then return 1 5 else prev 0 6 pprev 1 7 for i 2 to n 8 do f prev + pprev 9 pprev prev 10 prev f 11 return f T(n) = 6 + 6(n 1) = 6n The complexity of SMARTFIBONACCI(n) is linear in n
63 Complexity of SmartFibonacci SMARTFIBONACCI(n) 1 if n = 0 2 then return 0 3 elseif n = 1 4 then return 1 5 else prev 0 6 pprev 1 7 for i 2 to n 8 do f prev + pprev 9 pprev prev 10 prev f 11 return f T(n) = 6 + 6(n 1) = 6n The complexity of SMARTFIBONACCI(n) is linear in n... almost...
Algorithms and Data Structures
Algorithms and Data Structures Course Introduction Antonio Carzaniga Faculty of Informatics University of Lugano September 19, 2008 2006 Antonio Carzaniga 1 General course information Outline Program Preliminary
More informationAlgorithms and Data Structures
Algorithms and Data Structures Course Introduction Antonio Carzaniga Faculty of Informatics University of Lugano February 21, 2012 General Information On-line course information on Moodle: INFO.B018 http://www2.icorsi.ch/course/view.php?id=681
More informationIntroduction to Computer Networking
Introduction to Computer Networking Antonio Carzaniga Faculty of Informatics University of Lugano September 17, 2014 Outline General course information Program Preliminary schedule Intro to computer networking:
More informationComputer Networking Course Introduction
Computer Networking Course Introduction Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana September 20, 2017 Outline General course information Program Preliminary schedule Intro
More informationVE281 Data Structures and Algorithms. Introduction and Asymptotic Algorithm Analysis
VE281 Data Structures and Algorithms Introduction and Asymptotic Algorithm Analysis Time and Location Time: Tuesday 10:00-11:40 am, Thursday 10:00-11:40 am. Location: Dong Xia Yuan 200 2 Instructor Weikang
More informationFundamental Algorithms
Fundamental Algorithms WS 2006/2007 Jens Ernst Lehrstuhl für Effiziente Algorithmen Institut für Informatik General Information: Audience: Students of the program Computational Science and Engineering
More informationData Structures and Algorithms
Data Structures and Algorithms Luciano Bononi Computer Science Engineering University of Bologna bononi@cs.unibo.it http://www.cs.unibo.it/~bononi/ Slide credits: these slides have been translated from
More informationOverview. CSE 101: Design and Analysis of Algorithms Lecture 1
Overview CSE 101: Design and Analysis of Algorithms Lecture 1 CSE 101: Design and analysis of algorithms Course overview Logistics CSE 101, Fall 2018 2 First, relevant prerequisites Advanced Data Structures
More informationCOMP251: Algorithms and Data Structures. Jérôme Waldispühl School of Computer Science McGill University
COMP251: Algorithms and Data Structures Jérôme Waldispühl School of Computer Science McGill University About Me Jérôme Waldispühl Associate Professor of Computer Science I am conducting research in Bioinformatics
More informationOutline. Computer Science 331. Course Information. Assessment. Contact Information Assessment. Introduction to CPSC 331
Outline Computer Science 331 Introduction to CPSC 331 Mike Jacobson Department of Computer Science University of Calgary Lecture #1 1 Contact Information 2 3 Expected Background 4 How to Succeed 5 References
More informationRochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Sciences and Technologies
Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Sciences and Technologies 4002-360.01 ~ Introduction to Database & Data Modeling ~ Spring
More informationCS583 Lecture 01. Jana Kosecka. some materials here are based on Profs. E. Demaine, D. Luebke A.Shehu, J-M. Lien and Prof. Wang s past lecture notes
CS583 Lecture 01 Jana Kosecka some materials here are based on Profs. E. Demaine, D. Luebke A.Shehu, J-M. Lien and Prof. Wang s past lecture notes Course Info course webpage: - from the syllabus on http://cs.gmu.edu/
More informationAlgorithms (I) Introduction. Guoqiang Li. School of Software, Shanghai Jiao Tong University
Algorithms (I) Introduction Guoqiang Li School of Software, Shanghai Jiao Tong University Instructor and Teaching Assistants Guoqiang LI Instructor and Teaching Assistants Guoqiang LI Homepage: http://basics.sjtu.edu.cn/
More informationDesign and Analysis of Algorithms (I)
Design and Analysis of Algorithms (I) Introduction Guoqiang Li School of Software, Shanghai Jiao Tong University Instructor and Teaching Assistants Guoqiang LI Instructor and Teaching Assistants Guoqiang
More informationCS161 - Minimum Spanning Trees and Single Source Shortest Paths
CS161 - Minimum Spanning Trees and Single Source Shortest Paths David Kauchak Single Source Shortest Paths Given a graph G and two vertices s, t what is the shortest path from s to t? For an unweighted
More informationISM 324: Information Systems Security Spring 2014
ISM 324: Information Systems Security Spring 2014 Instructor: Co-Instructor: Office: E-Mail: Phone: Office Hours: Jeffrey Wall Hamid Nemati 392 Bryan Building jdwall2@uncg.edu (email is the preferred method
More informationCSE 504: Compiler Design
http://xkcd.com/303/ Compiler Design Course Organization CSE 504 1 / 20 CSE 504: Compiler Design http://www.cs.stonybrook.edu/~cse504/ Mon., Wed. 2:30pm 3:50pm Harriman Hall 116 C. R. Ramakrishnan e-mail:
More informationSyllabus CS 301: Data Structures Spring 2015
Syllabus CS 301: Data Structures Spring 2015 Meeting Times Instructor Graders Text Lect: 12:00-12:50 M, Tu, Wed, HB 116 Labs: 12:00-12:50 Th, HB 203 Dr. Razvan Andonie, HB 219-B, Office hours Projects
More informationISATI 231: Windows Client (4 credits) Spring 2018 Mon, Tue, Wed, Thu, 13:10-14:40, MTB 105
INSTRUCTOR INFORMATION: ISATI 231: Windows Client (4 credits) Spring 2018 Mon, Tue, Wed, Thu, 13:10-14:40, MTB 105 Name: Joshua L. Rogers Office: Mechanical-Technical Building (MTB) 105A Tel: (208) 792-2817
More informationSan José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015
Course and Contact Information San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015 Instructor: Aikaterini Potika Office Location: MacQuarrie Hall 215
More informationCourse Title: Computer Networking 2. Course Section: CNS (Winter 2018) FORMAT: Face to Face
Course Title: Computer Networking 2 Course Section: CNS-106-50 (Winter 2018) FORMAT: Face to Face TIME FRAME: Start Date: 15 January 2018 End Date: 28 February 2018 Monday & Wednesday 1:00pm 5:00pm CREDITS:
More informationCOMP Analysis of Algorithms & Data Structures
COMP 3170 - Analysis of Algorithms & Data Structures Shahin Kamali Topic 1 - Introductions University of Manitoba Picture is from the cover of the textbook CLRS. COMP 3170 - Analysis of Algorithms & Data
More informationEECE.2160: ECE Application Programming Spring 2019
Course Meetings Section 201: MWF 8-8:50, Kitson 305 Section 202: MWF 12-12:50, Kitson 305 Course Website Main page: http://mjgeiger.github.io/eece2160/sp19/ Schedule: http://mjgeiger.github.io/eece2160/sp19/schedule.htm
More informationECE573 Introduction to Compilers & Translators
ECE573 Introduction to Compilers & Translators Tentative Syllabus Fall 2005 Tu/Th 9:00-10:15 AM, EE 115 Instructor Prof. R. Eigenmann Tel 49-41741 Email eigenman@ecn Office EE334C Office Hours Tu 10:15-11:30
More informationThe Linux Command Line: A Complete Introduction, 1 st ed., by William E. Shotts, Jr., No Starch Press, 2012.
Department of Mathematics and Computer Science Adelphi University Fall 2018 0145-275-001 Operating Systems Practicum Dr. R. M. Siegfried 407 Science (516)877-4482 http://home.adelphi.edu/~siegfried/cs271
More informationCASPER COLLEGE COURSE SYLLABUS MSFT 1600 Managing Microsoft Exchange Server 2003 Semester/Year: Fall 2007
CASPER COLLEGE COURSE SYLLABUS MSFT 1600 Managing Microsoft Exchange Server 2003 Semester/Year: Fall 2007 Lecture Hours: 2 Lab Hours: 2 Credit Hours: 3 Class Time: Saturday 8:30 AM - 12:00 PM Room: BU
More informationOutline. Computer Science 331. Desirable Properties of Hash Functions. What is a Hash Function? Hash Functions. Mike Jacobson.
Outline Computer Science 331 Mike Jacobson Department of Computer Science University of Calgary Lecture #20 1 Definition Desirable Property: Easily Computed 2 3 Universal Hashing 4 References Mike Jacobson
More informationKOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)
Programming Concepts & Algorithms Course Syllabus Course Title Course Code Computer Department Pre-requisites Course Code Course Instructor Programming Concepts & Algorithms + lab CPE 405C Computer Department
More informationCIS*1500 Introduction to Programming
CIS*1500 Introduction to Programming CIS*1500 Learning to program The basic constructs of programming Programming in the C language Solving real problems Not just about coding! About me??? Some basic things...
More informationBulldozers/Sites A B C D
CSE 101 Summer 2017 Homework 2 Instructions Required Reading The textbook for this course is S. Dasgupta, C. Papadimitriou and U. Vazirani: Algorithms, McGraw Hill, 2008. Refer to the required reading
More informationCS2 Algorithms and Data Structures Note 1
CS2 Algorithms and Data Structures Note 1 Analysing Algorithms This thread of the course is concerned with the design and analysis of good algorithms and data structures. Intuitively speaking, an algorithm
More informationCSE 332: Data Abstractions. Ruth Anderson Spring 2014 Lecture 1
CSE 332: Data Abstractions Ruth Anderson Spring 2014 Lecture 1 Welcome! We have 10 weeks to learn fundamental data structures and algorithms for organizing and processing information Classic data structures
More informationCS 173, Running Time Analysis, Counting, and Dynamic Programming. Tandy Warnow
CS 173, Running Time Analysis, Counting, and Dynamic Programming Tandy Warnow CS 173 September 25, 2018 Tandy Warnow Today Topics: Results from survey Midterm Very basic counting Analyzing running times
More informationSyllabus COSC-051-x - Computer Science I Fall Office Hours: Daily hours will be entered on Course calendar (or by appointment)
Syllabus COSC-051-x - Computer Science I Fall 2018 Instructor: Jeremy Bolton, Ph.D. Asst Teaching Professor Department of Computer Science Office: TBD (see Course calendar for office hours) Email: jeremy.bolton@georgetown.edu
More informationSan José State University Computer Science Department CS157A: Introduction to Database Management Systems Sections 5 and 6, Fall 2015
San José State University Computer Science Department CS157A: Introduction to Database Management Systems Sections 5 and 6, Fall 2015 Course and Contact Information Instructor: Ron Gutman Office Location:
More informationEECE.2160: ECE Application Programming Spring 2017
Course Meetings Section 201: MWF 8-8:50, Ball 314 Section 202: MWF 12-12:50, Kitson 305 Course Website Main page: http://mjgeiger.github.io/eece2160/sp17/ Schedule: http://mjgeiger.github.io/eece2160/sp17/schedule.htm
More informationCOMP250: Introduction to Computer Science. Jérôme Waldispühl & Carlos Oliver Gonzalez School of Computer Science McGill University
COMP250: Introduction to Computer Science Jérôme Waldispühl & Carlos Oliver Gonzalez School of Computer Science McGill University About Me Jérôme Waldispühl Associate Professor of Computer Science I am
More informationSoftware Analysis. Asymptotic Performance Analysis
Software Analysis Performance Analysis Presenter: Jonathan Aldrich Performance Analysis Software Analysis 1 Asymptotic Performance Analysis How do we compare algorithm performance? Abstract away low-level
More informationSyllabus for HPE 099 Aerobic Proficiency 1 Credit Hour Fall 2012
Syllabus for HPE 099 Aerobic Proficiency 1 Credit Hour Fall 2012 I. COURSE DESCRIPTION Designed for seniors who are presently maintaining a physically active lifestyle and can pass the running, cycling,
More informationTextbook(s) and other required material: Raghu Ramakrishnan & Johannes Gehrke, Database Management Systems, Third edition, McGraw Hill, 2003.
Elective course in Computer Science University of Macau Faculty of Science and Technology Department of Computer and Information Science SFTW371 Database Systems II Syllabus 1 st Semester 2013/2014 Part
More informationCSCE 441 Computer Graphics Fall 2018
CSCE 441 Computer Graphics Fall 2018 Meetings: Monday, Wednesday, Friday 9:10-10:00 a.m. Location: HRBB 113 Instructor: Dr. John Keyser Office: 527C, H.R. Bright Building Phone: 458-0167 Email: keyser@cse.tamu.edu
More informationCS Elementary Graph Algorithms
CS43-09 Elementary Graph Algorithms Outline Representation of Graphs Instructor: Fei Li Room 443 ST II Office hours: Tue. & Thur. 1:30pm - 2:30pm or by appointments lifei@cs.gmu.edu with subject: CS43
More informationCS Elementary Graph Algorithms
CS483-09 Elementary Graph Algorithms Instructor: Fei Li Room 443 ST II Office hours: Tue. & Thur. 1:30pm - 2:30pm or by appointments lifei@cs.gmu.edu with subject: CS483 http://www.cs.gmu.edu/ lifei/teaching/cs483_fall07/
More informationDepartment of Information Technology
COURSE DELIVERY PLAN - THEORY Page 1 of 6 Department of Information Technology B.Tech : Information Technology Regulation : 2013 Sub. Code / Sub. Name : CS6301 / Programming and Data Structures II Unit
More informationCSEE 4840 Embedded Systems. LABYRINTH Dijkstra s implementation on FPGA
CSEE 4840 Embedded Systems LABYRINTH Dijkstra s implementation on FPGA Ariel Faria Michelle Valente Utkarsh Gupta Veton Saliu Under the guidance of Prof. Stephen Edwards Overview and objectives Single
More informationCSE : ADVANCED ALGORITHMS
CSE 5311-001: ADVANCED ALGORITHMS Summer 2014: TR 10:30-12:20, ERB 130 Instructor: Bob Weems, Associate Professor Office: 627 ERB (weems@uta.edu, http://ranger.uta.edu/~weems/ ) Hours: MW 3:00-4:00, TR
More informationSyllabus for HPE 099 Aerobic Proficiency 1 Credit Hour Spring 2015
Syllabus for HPE 099 Aerobic Proficiency 1 Credit Hour Spring 2015 I. COURSE DESCRIPTION Designed for seniors who are presently maintaining a physically active lifestyle and can pass the running, cycling,
More informationCMSC 132: Object-Oriented Programming II. Administrivia
CMSC 132: Object-Oriented Programming II Administrivia CMSC 132 Summer 2017 1 Course Description Introduction to use of computers to solve problems Design and implement abstract data types: List, Stack,
More informationCSE 417 Practical Algorithms. (a.k.a. Algorithms & Computational Complexity)
CSE 417 Practical Algorithms (a.k.a. Algorithms & Computational Complexity) Outline for Today > Course Goals & Overview > Administrivia > Greedy Algorithms Why study algorithms? > Learn the history of
More informationCS240: Programming in C
CS240: Programming in C Lecture 1: Class overview. Cristina Nita-Rotaru Lecture 1/ Fall 2013 1 WELCOME to CS240 Cristina Nita-Rotaru Lecture 1/ Fall 2013 2 240 Team Instructor: Cristina Nita-Rotaru Special
More informationOrganisation. Assessment
Week 1 s s Getting Started 1 3 4 5 - - Lecturer Dr Lectures Tuesday 1-13 Fulton House Lecture room Tuesday 15-16 Fulton House Lecture room Thursday 11-1 Fulton House Lecture room Friday 10-11 Glyndwr C
More informationCSC 172 Data Structures and Algorithms. Fall 2017 TuTh 3:25 pm 4:40 pm Aug 30- Dec 22 Hoyt Auditorium
CSC 172 Data Structures and Algorithms Fall 2017 TuTh 3:25 pm 4:40 pm Aug 30- Dec 22 Hoyt Auditorium Agenda Administrative aspects Brief overview of the course Hello world in Java CSC 172, Fall 2017, UR
More informationProgramming 1. Outline (111) Lecture 0. Important Information. Lecture Protocol. Subject Overview. General Overview.
Programming 1 (111) Lecture 0 College of Computer Science and Engineering Taibah University S1, 1439 Outline Important Information Lecture Protocol Subject Overview General Overview Course Objectives Studying
More informationAdvanced Relational Database Management MISM Course F A Fall 2017 Carnegie Mellon University
Advanced Relational Database Management MISM Course F17-95736A Fall 2017 Carnegie Mellon University Instructor: Randy Trzeciak Office: HBH 1104C Office hours: By Appointment Phone: 412-268-7040 E-mail:
More informationCleveland State University
Cleveland State University CIS 260/500 Introduction to Programming (4 credits). Spring 2015 Section 2/ 50 Class Nbr. 1810/1855 Tue, Thu 12:30 PM 2:20 PM Section 2/ 50 Class Nbr. 1813/1856. Tue, Thu 4:00
More informationCS 471 Networking and Distributed Operating Systems
CS 471 Networking and Distributed Operating Systems Course Information MEETING TIMES University of Kentucky Department of Computer Science Spring 2008 MWF 11:00am - 11:50am, Room FPAT 257 INSTRUCTOR Jim
More informationClass Note #02. [Overall Information] [During the Lecture]
Class Note #02 Date: 01/11/2006 [Overall Information] In this class, after a few additional announcements, we study the worst-case running time of Insertion Sort. The asymptotic notation (also called,
More informationCPS352 Database Systems Syllabus Fall 2012
CPS352 Database Systems Syllabus Fall 2012 Professor: Simon Miner Fall Semester 2012 Contact: Simon.Miner@gordon.edu Thursday 6:00 9:00 pm KOSC 128 978-380- 2626 KOSC 243 Office Hours: Thursday 4:00 6:00
More informationECONOMICS 5317: CONTEMPORARY GOVERNMENT AND BUSINESS RELATIONS
1 ECONOMICS 5317: CONTEMPORARY GOVERNMENT AND BUSINESS RELATIONS Fall 2011, MWF 9:05-9:55, HCB 408 INSTRUCTOR: David VanHoose OFFICE HOURS: OFFICE: 339 Hankamer MWF 8:00-9:00 & 12:15-1:15; OFFICE PHONE:
More informationCourse Syllabus - CNT 4703 Design and Implementation of Computer Communication Networks Fall 2011
Course Syllabus - CNT 4703 Design and Implementation of Computer Communication Networks Fall 2011 Credits: 3 Course Meets: Tuesday and Thursday 4:00 pm to 5:15 pm in HEC 104 Lab Hours: HEC 322 we will
More informationAdvanced Algorithms and Data Structures
Advanced Algorithms and Data Structures Prof. Tapio Elomaa Course Basics A new 7 credit unit course Replaces OHJ-2156 Analysis of Algorithms We take things a bit further than OHJ-2156 We will assume familiarity
More informationObject-Oriented Programming CSCI-UA
Object-Oriented Programming CSCI-UA 0470-001 Instructor: Thomas Wies Spring 2017 Class 1 - Introduction Object-oriented programming is an exceptionally bad idea which could only have originated in California.
More informationCS 374: Algorithms & Models of Computation
CS 374: Algorithms & Models of Computation Chandra Chekuri Manoj Prabhakaran University of Illinois, Urbana-Champaign Fall 2015 Chandra & Manoj (UIUC) CS374 1 Fall 2015 1 / 37 CS 374: Algorithms & Models
More informationInstructor: Anna Miller
Media Graphics ADV 3203 Fall 2016 Advertising Media Graphics - 81584 - ADV 3203 Mondays and Wednesdays 12:15 PM - 1:30 PM room 1011 And Advertising Media Graphics - 82354 - ADV 3203 Mondays and Wednesdays
More informationDatabase Systems: Concepts, design, and implementation ISE 382 (3 Units)
Database Systems: Concepts, design, and implementation ISE 382 (3 Units) Spring 2013 Description Obectives Instructor Contact Information Office Hours Concepts in modeling data for industry applications.
More informationMWF 9:00-9:50AM & 12:00-12:50PM (ET)
Department of Mathematics and Computer Science Adelphi University Fall 2013 0145-443-001 Database Management Systems Dr. R. M. Siegfried 214 Post Hall (516)877-4482 siegfrie@adelphi.edu Office Hours Course
More informationECE 588/688 Advanced Computer Architecture II
ECE 588/688 Advanced Computer Architecture II Instructor: Alaa Alameldeen alaa@ece.pdx.edu Fall 2009 Portland State University Copyright by Alaa Alameldeen and Haitham Akkary 2009 1 When and Where? When:
More informationData Structures and Algorithms
Data Structures and Algorithms Lecture 1: Course Overview Lilia Georgieva 2004 Goodrich, Tamassia What is this course about? We will study moderately complex data structures and algorithms that are essential
More informationPELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS ADVANCED DATABASE MANAGEMENT SYSTEMS CSIT 2550
PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS ADVANCED DATABASE MANAGEMENT SYSTEMS CSIT 2550 Class Hours: 3.0 Credit Hours: 4.0 Laboratory Hours: 3.0 Revised: Fall 2010 Catalog Course Description:
More informationSurvey of Programming Languages Dr. R. M. Siegfried 407 Science (516) (not for homework submission)
Department of Mathematics and Computer Science Adelphi University Fall 2017 0145-270-002 Survey of Programming Languages Dr. R. M. Siegfried 407 Science (516)877-4482 siegfrie@adelphi.edu (not for homework
More informationIntroduction To Data Processing COMP 153 Business Administration Program/Administrative Studies. Course Outline
Introduction To Data Processing COMP 153 Business Administration Program/Administrative Studies Course Outline COURSE IMPLEMENTATION DATE: Pre 1998 OUTLINE EFFECTIVE DATE: September 2016 COURSE OUTLINE
More informationCS 157: Assignment 5
Problem : Printing Neatly CS 157: Assignment 5 Douglas R. Lanman 4 April 006 In a word processor or in L A TEX, one routinely encounters the pretty printing problem. That is, how does one transform text
More informationCOMP-202C: Foundations of Programming
COMP-202C: Foundations of Programming McGill University, Summer 2015 Course Details Instructor: Sandeep Manjanna Office: McConnell Engineering Building (MC) 312 Office hours: Thursday 15:00 17:00 (or by
More informationCPSC 4600 Biometrics and Cryptography Fall 2013, Section 0
CPSC 4600 Biometrics and Cryptography Fall 2013, Section 0 Course: CPSC4600, Section 0, CRN 42532 Title: Biometrics and Cryptography Class Schedule: EMCS302, MW 2:00 pm-3:15 pm Credit: 3 Faculty: Dr. Li
More informationCSCI 6312 Advanced Internet Programming
CSCI 6312 Advanced Internet Programming Section 01, Spring 2018, W, 5:55pm - 8:25pm Instructor: Emmett Tomai Office: ENGR 3.2100 Phone: 665-7229 Email: emmett.tomai@utrgv.edu Office hours: W 1 3pm, TR
More informationObject-Oriented Programming for Managers
95-807 Object-Oriented Programming for Managers 12 units Prerequisites: 95-815 Programming Basics is required for students with little or no prior programming coursework or experience. (http://www.andrew.cmu.edu/course/95-815/)
More informationSan Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1 and 2, Spring 2016
San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1 and 2, Spring 2016 Course and Contact Information Instructor: Dr. Kim Office Location:
More informationKingdom of Saudi Arabia Ministry of Higher Education College of Computer & Information Sciences Majmaah University. Course Profile
Kingdom of Saudi Arabia Ministry of Higher Education College of Computer & Information Sciences Majmaah University Course Profile Course Name:- Design and Web Programming Course Code:- CEN 300/CEN 218
More informationAdvanced Relational Database Management MISM Course S A3 Spring 2019 Carnegie Mellon University
Advanced Relational Database Management MISM Course S19-95736 A3 Spring 2019 Carnegie Mellon University Instructor: Randy Trzeciak Office: HBH 1104C Office hours: By Appointment Phone: 412-268-7040 E-mail:
More informationSyllabus for HPE 451 Directed Study 1-3 Credit Hours Spring 2014
Syllabus for HPE 451 Directed Study 1-3 Credit Hours Spring 2014 I. COURSE DESCRIPTION The study of an approved topic, project, or practicum. Intended to supplement a subject already studied in a HPE class
More informationCourse Syllabus. Course Information
Course Syllabus Course Information Course: MIS 6326 Data Management Term: Fall 2015 Section: 002 Meets: Monday and Wednesday 2:30 pm to 3:45 pm JSOM 11.210 Professor Contact Information Instructor: Email:
More informationIntroduction to Programming System Design CSCI 455x (4 Units)
Introduction to Programming System Design CSCI 455x (4 Units) Description This course covers programming in Java and C++. Topics include review of basic programming concepts such as control structures,
More informationData Structures and Algorithms
Data Structures and Algorithms About the course (objectives, outline, recommended reading) Problem solving Notions of Algorithmics (growth of functions, efficiency, programming model, example analysis)
More informationIntroduction To Algorithms 3rd Edition Solutions Download
Introduction To Algorithms 3rd Edition Solutions Download We have made it easy for you to find a PDF Ebooks without any digging. And by having access to our ebooks online or by storing it on your computer,
More informationC Programming for Engineers Introduction
C Programming for Engineers Introduction ICEN 360 Spring 2017 Prof. Dola Saha 1 Introductions Instructor Prof. Dola Saha, PhD University of Colorado Boulder http://www.albany.edu/faculty/dsaha/ dsaha@albany.edu
More informationData Structures and Algorithms
CS 3114 Data Structures and Algorithms 1 Trinity College Library Univ. of Dublin Instructors and Course Information 2 William D McQuain Email: Office: Office Hours: wmcquain@cs.vt.edu 634 McBryde Hall
More informationCISC 124: Introduction To Computing Science II
CISC 124: Introduction To Computing Science II instructor: Margaret Lamb instructor's home page: www.cs.queensu.ca/home/malamb office: Goodwin 527 current office hours are always on my home page 1 Moodle
More informationECE 588/688 Advanced Computer Architecture II
ECE 588/688 Advanced Computer Architecture II Instructor: Alaa Alameldeen alaa@ece.pdx.edu Winter 2018 Portland State University Copyright by Alaa Alameldeen and Haitham Akkary 2018 1 When and Where? When:
More informationLecture 22 Tuesday, April 10
CIS 160 - Spring 2018 (instructor Val Tannen) Lecture 22 Tuesday, April 10 GRAPH THEORY Directed Graphs Directed graphs (a.k.a. digraphs) are an important mathematical modeling tool in Computer Science,
More informationSpring CISM 3330 Section 01D (crn: # 10300) Monday & Wednesday Classroom Miller 2329 Syllabus revision: #
Spring 2018 - CISM 3330 Section 01D (crn: # 10300) Monday & Wednesday 0800 0915 Classroom Miller 2329 Syllabus revision: # 171124 FACULTY DATA: Dr. Douglas Turner Phone: 678.839.5252 Miller 2223 OFFICE
More informationPELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS LINUX SYSTEM ADMINISTRATION CSIT 2411
PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS LINUX SYSTEM ADMINISTRATION CSIT 2411 Class Hours: 3.0 Credit Hours: 4.0 Laboratory Hours: 3.0 Revised: Spring 2010 Catalog Course Description: A study
More informationLecture 1. Introduction
Lecture 1 Introduction 1 Lecture Contents 1. What is an algorithm? 2. Fundamentals of Algorithmic Problem Solving 3. Important Problem Types 4. Fundamental Data Structures 2 1. What is an Algorithm? Algorithm
More informationAlgorithms and Data Structures
Algorithms and Data Structures or, Classical Algorithms of the 50s, 60s, 70s Richard Mayr Slides adapted from Mary Cryan (2015/16) with small changes. School of Informatics University of Edinburgh ADS
More informationLecture 17: Hash Tables, Maps, Finish Linked Lists
....... \ \ \ / / / / \ \ \ \ / \ / \ \ \ V /,----' / ^ \ \.--..--. / ^ \ `--- ----` / ^ \. ` > < / /_\ \. ` / /_\ \ / /_\ \ `--' \ /. \ `----. / \ \ '--' '--' / \ / \ \ / \ / / \ \ (_ ) \ (_ ) / / \ \
More informationTREASURY BANKING OPERATIONS Certification Program
FINAL CERTIFICATION AWARDED BY IMRTC - USA TREASURY BANKING OPERATIONS Certification Program This highly specialized and concentrated Program is ideally suited to following individuals who: Are fresh University
More informationCOMP 401 COURSE OVERVIEW
COMP 401 COURSE OVERVIEW Instructor: Prasun Dewan (FB 150, help401@cs.unc.edu) Course page: http://www.cs.unc.edu/~dewan/comp401/current/ COURSE PAGE Linked from my home page (google my name to find it)
More informationCourse and Contact Information. Course Description. Course Objectives
San Jose State University College of Science Department of Computer Science CS157A, Introduction to Database Management Systems, Sections 1 and 2, Fall2016 Course and Contact Information Instructor: Dr.
More informationAlgorithms and Data Structures, or
Algorithms and Data Structures, or... Classical Algorithms of the 50s, 60s and 70s Mary Cryan A&DS Lecture 1 1 Mary Cryan Our focus Emphasis is Algorithms ( Data Structures less important). Most of the
More informationSRI VENKATESWARA COLLEGE OF ENGINEERING. COURSE DELIVERY PLAN - THEORY Page 1 of 6
COURSE DELIVERY PLAN - THEORY Page 1 of 6 Department of Computer Science and Engineering B.E/B.Tech/M.E/M.Tech : B.E(CSE) & B.Tech (IT) Regulation:2016 PG Specialisation : -- : I LP: CS16301 Rev. No: 00
More informationCS 4349 Lecture August 21st, 2017
CS 4349 Lecture August 21st, 2017 Main topics for #lecture include #administrivia, #algorithms, #asymptotic_notation. Welcome and Administrivia Hi, I m Kyle! Welcome to CS 4349. This a class about algorithms.
More information