Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
13 views14 pages

Lecture1 Intro

Uploaded by

kdkim7676
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views14 pages

Lecture1 Intro

Uploaded by

kdkim7676
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Algorithm Design and Analysis

 Instructor:

◦ Farnaz Dargahi
◦ Office: SW2-363
◦ Please email to confirm all office hour appointments
◦ Email: [email protected]
 Background
◦ Computer Science and Software Engineering(Ph.D,
MSc, BSc.)

 Research Area
◦ Distributed service scheduling
◦ Multi-agent Systems
◦ Algorithmic Mechanism Design, Game Theory
◦ Wirelesses sensor Networks

 Prior to that... software development


 This is a course on algorithms
◦ Explicit descriptions of procedures to solve
problems

 Why we need to study algorithms?


◦ Is recognized as the core of computer science
◦ To know a standard set of important algorithms
◦ Design new algorithms and analyze their efficiency
 Algorithms don’t change quickly
◦ 20 years ago, nobody was learning Java
◦ They were learning the same algorithms
◦ They are good programmers now
 Describe common algorithms
 Analyze pseudo-code using asymptotic notation
 Design algorithms using several techniques e.g. Divide and
Conquer, Greedy, Graph techniques, etc
 Implement algorithms in Java
 Recognize different types of problems and how to go about
solving them
 Argue the correctness of algorithms
 Textbook
◦ “The Design and Analysis of Algorithms,” Levitin In
the book store
 Grading:
Criteria % Comments
Lab Assignments 25 Weekly assignments, 10 assignments in total
Quizzes 20 Biweekly held in lab, 5 quizzes in total
Midterm Exam 25
Final Exam 30
Total 100

 Note: the passing grade in this course is 50%.


 Java (Comp 2526)
◦ You need to be able to program in Java
 Used for assignments
 Used to test algorithm efficiency
◦ I am not going to teach you Java
◦ You can use any IDE you want
◦ You are expected to write “good code” as you
learned previously
 Discrete math (COMP 2121)
◦ Parts of this course are theoretical
◦ Parts of this course use math
 Solve polynomial equations
 Set up and solve summations
 Work with logarithms

◦ I expect you know these things


◦ I am happy to review and explain them
 PLEASE DON’T FALL BEHIND BECAUSE OF BASIC MATH
 Not an official pre-req… but C programming
is good to know
◦ Lots of web resources on algorithms in C
◦ Lots of procedural descriptions of algorithms
◦ It is useful to understand C when you read it
 Lectures
◦ Focus on one core topic each week

 Labs
◦ Reinforce topic through practice

 Homework/reading
◦ Is my way of telling you what I think is important
◦ You should care about this
 Do practice problems
◦ The only way to get good in algorithm design is
practice

 Keep up with material


◦ It is hard to succeed “cramming” for tests

 If you do the reading/homework:


◦ Quizzes and labs will be easy
 Labs are done in the lab time
◦ Practice with problem solving
◦ Mandatory attendance
◦ Sometimes on paper, sometimes programming

 Quizzes are also done in the lab time


◦ 20-30 minutes, individually

You might also like