230 likes | 688 Views
Welcome to CMPSC 465. Penn State University Spring 2013. Today’s Plan. Introductions Handouts: Syllabus, Student info sheet, autobiography, name tags Course Overview Syllabus Highlights http://www.personal.psu.edu/djh300/cmpsc465 The Sorting Problem: Intro. to Insertion and Merge Sort
E N D
Welcome to CMPSC 465 Penn State University Spring 2013
Today’s Plan • Introductions • Handouts: Syllabus, Student info sheet, autobiography, name tags • Course Overview • Syllabus Highlights • http://www.personal.psu.edu/djh300/cmpsc465 • The Sorting Problem: Intro. to Insertion and Merge Sort • Recitation Sections: Meet in 220 IST, Programming lab
The Staff • Instructor: Doug Hogan • hogan@cse.psu.edu • 338C IST • Office hours and out-of-class access • Might tweak office hours at midterm • TAs • Yi Yang • Cheng Wang • Graders behind the scenes
The Big Questions • How do we solve problems? • …efficiently • Some classic algorithms • Analysis • Correctness • Running Time • Data Structures • Algorithmic Design Strategies
Analysis • How efficient is an algorithm? • We’ll use tools from discrete math to measure running time • Usually, we count the number of comparisons or elementary operations (+, -, *, /, etc.) • Count in terms of the input size, n, like the size of an array being process • More concerned with how growth scales as n gets large • A theory course at heart, not a programming course at heart
Algorithmic Design Strategies • Incremental • Divide-and-conquer • Greedy algorithms • Dynamic programming
Some Big Problems • Searching • Sorting • Storing data for fast access • Example: Trees, esp. balanced trees • Traversing data structures
Course Organization • UNIT 1: • Intro to Analysis Tools • Divide and Conquer • Recurrences • UNIT 2: • Heaps • Sorting • UNIT 3: • Hashing • Trees • UNIT 4: • Graphs • Graph algorithms • UNIT 5: • Greedy algorithms • Dynamic programming • Computatbility
Lectures • Lecture 1 • MWF, 10:10 a.m. to 11 a.m., 114 EES • Larger room: seats 116 • Lecture 2 • MWF, 11:15 a.m. to 12:05 p.m., 101 Leonhard • Smaller room: seats 36 • Students scheduled for 10:10 should come to the 10:10 class, but may switch in emergency situations only • Assignments due in lecture are due at your assigned lecture’s start
Recitations • Four different recitations on Mondays, all in EES • 12:20, Room 121 • 1:25, Room 121 • 4:40, Room 121 • 6:30, Room 119 • Today and next Monday: 220 IST instead • Come to your scheduled time… • …unless in emergency situations • …or you trade with someone to keep class sizes balanced • Attention prioritized for those assigned to a time
What You Must Bring In • Programming knowledge and experience (121, 122) • The basics • Functions/methods, most importantly • Recursion • Preconditions and postconditions • Arrays and Linked Lists • Searching • Sorting
What You Must Bring In • Discrete Math (360) • Logic • Quantifiers • Sets • Direct proof, esp. universal conditional statements • Sequences • INDUCTION • Strong induction • Recurrences • Functions – injections, etc. • More Discrete Math • Basics of trees • BST • The language of graphs • Some counting • Combinations, permutations, esp. • If you need to review or fill in holes • 360 lectures on ANGEL • Epp Ch. 1-10 • Ask me
Books • Main book: Cormen, Introduction to Algorithms (“CLRS”), 3rd ed. • Ch. 1-4, 6-8, 11-13, 18, 22-24, 15-16, ? • Epp, Discrete Mathematics with Applications, 4th ed. • We’ll do Chapter 11 – you must have a copy of that (electronic purchase available) • Reference and clearer explanations than CLRS on the fundamentals • Another View: Kleinberg/Tardos, Algorithm Design (“KT”) • I’ll hand out some sections or use some slides sometimes
Lectures • Format • By popular demand, I’ll aim to provide notes packets for Units 1-4’s core content • Have some notebook paper handy, though • Unit 5 – not sure yet. Might use some KT materials. • Periodically, some on-screen presentations • Conduct • Be here on time, don’t move around, be respectful. • No phones, laptops, whatever. You, me, your brain, pencil, paper, deep thinking
Alertness Points • The concept • Applies to lecture • Since there are 2 lectures, 7 alertness points yield 1 exam bonus point
Assignments • Practice and Learning Tools • Two kinds • Standard Homework Problems, most lectures • Challenge Homework Problems, a set per unit • Start on your own, write up your own solution • Discuss with study groups • More Formal Assignments • Two kinds • Formal Problem Write-Ups • Programming Assignments • Infrequently • Absolutely to be done alone (or in a team if specs say)
More on Assignments • Read the syllabus for all policies • Standard homework problems could be collected any lecture after the one when they come up in the notes packets or are announced • Up to the next exam • Built-in forgiveness in grading: 5-10% • Challenge problems and exams • Discussion very much encouraged • Comprehension is key
Exams • Midterms: • All Thursday nights, 8:15 to 10:15 p.m., 101 Thomas • 20% of content directly linked to Challenge Problems • More exams == less on an exam, way to facilitate challenge problems • Dates: 1/31, 2/21, 3/21, 4/11 • Conflict exam form on web site, due 10 days in advance • Final • All collectively worth 75% • Some review/correction content on exams instead of EC quizzes
Other Syllabus Things • Grades: 75% exams, 25% homework • Don’t try to interpret an overall average before spring break • In normal cases, 70% gets you a “C” and 90% gets you an “A” • Precise scale determined later • Read the rest for the other policies • Academic integrity • Re-grade requests
Closing Opening Words • [It makes sense… ] • Please bear with me as I set this course up for the first time. • Take your work seriously and be professional in your written work • You will be challenged • …but let’s make it fun!
Onward… • Course Site: • http://www.personal.psu.edu/djh300/cmpsc465 • “Schedule” link • “Resources” page • Please contribute! • The Sorting Problem • Lab Setup for Today