CSCI 311 : Algorithms and Data Structures

Similar documents
CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

Accounting 380K.6 Accounting and Control in Nonprofit Organizations (#02705) Spring 2013 Professors Michael H. Granof and Gretchen Charrier

Multimedia Application Effective Support of Education

Economics 201 Principles of Microeconomics Fall 2010 MWF 10:00 10:50am 160 Bryan Building

CS 101 Computer Science I Fall Instructor Muller. Syllabus

Course Content Concepts

Data Structures and Algorithms

BENG Simulation Modeling of Biological Systems. BENG 5613 Syllabus: Page 1 of 9. SPECIAL NOTE No. 1:

Course Syllabus for Math

Guide to Teaching Computer Science

AGN 331 Soil Science Lecture & Laboratory Face to Face Version, Spring, 2012 Syllabus

Math 181, Calculus I

MAT 122 Intermediate Algebra Syllabus Summer 2016

CHEM:1070 Sections A, B, and C General Chemistry I (Fall 2017)

FINN FINANCIAL MANAGEMENT Spring 2014

Instructor: Khaled Kassem (Mr. K) Classroom: C Use the message tool within UNM LEARN, or

Grading Policy/Evaluation: The grades will be counted in the following way: Quizzes 30% Tests 40% Final Exam: 30%

MinE 382 Mine Power Systems Fall Semester, 2014

Office Hours: Mon & Fri 10:00-12:00. Course Description

BUS Computer Concepts and Applications for Business Fall 2012

School of Basic Biomedical Sciences College of Medicine. M.D./Ph.D PROGRAM ACADEMIC POLICIES AND PROCEDURES

THE UNIVERSITY OF SYDNEY Semester 2, Information Sheet for MATH2068/2988 Number Theory and Cryptography

Rules of Procedure for Approval of Law Schools

EECS 700: Computer Modeling, Simulation, and Visualization Fall 2014

Accounting 312: Fundamentals of Managerial Accounting Syllabus Spring Brown

PH.D. IN COMPUTER SCIENCE PROGRAM (POST M.S.)

MATH 205: Mathematics for K 8 Teachers: Number and Operations Western Kentucky University Spring 2017

Instructor: Matthew Wickes Kilgore Office: ES 310

Syllabus - ESET 369 Embedded Systems Software, Fall 2016

CS 100: Principles of Computing

ECO 2013: PRINCIPLES OF MACROECONOMICS Spring 2017

Spring 2015 Natural Science I: Quarks to Cosmos CORE-UA 209. SYLLABUS and COURSE INFORMATION.

Syllabus for CHEM 4660 Introduction to Computational Chemistry Spring 2010

AGN 331 Soil Science. Lecture & Laboratory. Face to Face Version, Spring, Syllabus

PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS. PROFESSIONAL PRACTICE IDT 2021(formerly IDT 2020) Class Hours: 2.0 Credit Hours: 2.

General Physics I Class Syllabus

METHODS OF INSTRUCTION IN THE MATHEMATICS CURRICULUM FOR MIDDLE SCHOOL Math 410, Fall 2005 DuSable Hall 306 (Mathematics Education Laboratory)

HCI 440: Introduction to User-Centered Design Winter Instructor Ugochi Acholonu, Ph.D. College of Computing & Digital Media, DePaul University

Field Experience and Internship Handbook Master of Education in Educational Leadership Program

EDUC-E328 Science in the Elementary Schools

Psychology 102- Understanding Human Behavior Fall 2011 MWF am 105 Chambliss

JEFFERSON COLLEGE COURSE SYLLABUS BUS 261 BUSINESS COMMUNICATIONS. 3 Credit Hours. Prepared by: Cindy Rossi January 25, 2014

content First Introductory book to cover CAPM First to differentiate expected and required returns First to discuss the intrinsic value of stocks

SOUTHERN MAINE COMMUNITY COLLEGE South Portland, Maine 04106

WSU Five-Year Program Review Self-Study Cover Page

FINANCE 3320 Financial Management Syllabus May-Term 2016 *

MTH 215: Introduction to Linear Algebra

Self Study Report Computer Science

ACCOUNTING FOR MANAGERS BU-5190-AU7 Syllabus

University of Waterloo School of Accountancy. AFM 102: Introductory Management Accounting. Fall Term 2004: Section 4

Spring 2016 Stony Brook University Instructor: Dr. Paul Fodor

TABLE OF CONTENTS TABLE OF CONTENTS COVER PAGE HALAMAN PENGESAHAN PERNYATAAN NASKAH SOAL TUGAS AKHIR ACKNOWLEDGEMENT FOREWORD

Office Hours: Day Time Location TR 12:00pm - 2:00pm Main Campus Carl DeSantis Building 5136

ITSC 1301 Introduction to Computers Course Syllabus

Faculty Athletics Committee Annual Report to the Faculty Council September 2014

ACTL5103 Stochastic Modelling For Actuaries. Course Outline Semester 2, 2014

ACCT 100 Introduction to Accounting Course Syllabus Course # on T Th 12:30 1:45 Spring, 2016: Debra L. Schmidt-Johnson, CPA

Spring 2015 CRN: Department: English CONTACT INFORMATION: REQUIRED TEXT:

Syllabus for GBIB 634 Wisdom Literature 3 Credit hours Spring 2014

GEOG 473/573: Intermediate Geographic Information Systems Department of Geography Minnesota State University, Mankato

English 2330: World Literature Before 1600 Academic Semester/Term: Fall 2017

(Sub)Gradient Descent

ECE (Fall 2009) Computer Networking Laboratory

Syllabus for PRP 428 Public Relations Case Studies 3 Credit Hours Fall 2012

Biology 10 - Introduction to the Principles of Biology Spring 2017

Computer Science 1015F ~ 2016 ~ Notes to Students

ACCOUNTING FOR MANAGERS BU-5190-OL Syllabus

Required Materials: The Elements of Design, Third Edition; Poppy Evans & Mark A. Thomas; ISBN GB+ flash/jump drive

Phys4051: Methods of Experimental Physics I

Introduction to Forensic Anthropology ASM 275, Section 1737, Glendale Community College, Fall 2008

STA2023 Introduction to Statistics (Hybrid) Spring 2013

Alabama A&M University School of Business Department of Economics, Finance & Office Systems Management Normal, AL Fall 2004

International Environmental Policy Spring :374:315:01 Tuesdays, 10:55 am to 1:55 pm, Blake 131

CENTRAL MAINE COMMUNITY COLLEGE Introduction to Computer Applications BCA ; FALL 2011

Instructor. Darlene Diaz. Office SCC-SC-124. Phone (714) Course Information

HUMAN DEVELOPMENT OVER THE LIFESPAN Psychology 351 Fall 2013

Section I: The Nature of Inquiry

S T A T 251 C o u r s e S y l l a b u s I n t r o d u c t i o n t o p r o b a b i l i t y

Spring 2015 IET4451 Systems Simulation Course Syllabus for Traditional, Hybrid, and Online Classes

HMS 241 Lab Introduction to Early Childhood Education Fall 2015

Office Location: LOCATION: BS 217 COURSE REFERENCE NUMBER: 93000


General Chemistry II, CHEM Blinn College Bryan Campus Course Syllabus Fall 2011

Name: Giovanni Liberatore NYUHome Address: Office Hours: by appointment Villa Ulivi Office Extension: 312

ASTRONOMY 2801A: Stars, Galaxies & Cosmology : Fall term

CHMB16H3 TECHNIQUES IN ANALYTICAL CHEMISTRY

Please read this entire syllabus, keep it as reference and is subject to change by the instructor.

CALCULUS I Math mclauh/classes/calculusi/ SYLLABUS Fall, 2003

Spring 2014 SYLLABUS Michigan State University STT 430: Probability and Statistics for Engineering

COURSE WEBSITE:

International Humanitarian Assistance AEB 4282 Section 11FA 3 credits Spring Semester, 2013

State University of New York at Buffalo INTRODUCTION TO STATISTICS PSC 408 Fall 2015 M,W,F 1-1:50 NSC 210

ED : Methods for Teaching EC-6 Social Studies, Language Arts and Fine Arts

HSMP 6611 Strategic Management in Health Care (Strg Mgmt in Health Care) Fall 2012 Thursday 5:30 7:20 PM Ed 2 North, 2301

USA GYMNASTICS ATHLETE & COACH SELECTION PROCEDURES 2017 WORLD CHAMPIONSHIPS Pesaro, ITALY RHYTHMIC

APPLICATION FOR NEW COURSE

BEST OFFICIAL WORLD SCHOOLS DEBATE RULES

ACADEMIC EXCELLENCE REDEFINED American University of Ras Al Khaimah. Syllabus for IBFN 302 Room No: Course Class Timings:

Texas A&M University - Central Texas PSYK EDUCATIONAL PSYCHOLOGY INSTRUCTOR AND CONTACT INFORMATION

Penn State University - University Park MATH 140 Instructor Syllabus, Calculus with Analytic Geometry I Fall 2010

Transcription:

CSCI 311 : Algorithms and Data Structures Fall 2017 Department of Computer Science & Engineering Bucknell University I. Instructor Fahmida Hamid Visiting Assistant Professor Office: D313 Phone: 570-577 - 2343 Office Hours: F (1:30 PM - 3:30 PM) Email: fh017@bucknell.edu II. Class CSCI 311-01: MWF (8:00 AM - 8:52AM) Room #D116 CSCI 311-01: MWF (11:00 AM - 11:52AM) Room #D137 III. Recitation CSCI 311R.41 Thursday (10:00 AM - 10:52 AM) Room #D116 CSCI 311R.40 Thursday (11:00 AM - 11:52 AM) Room #D116 IV. Textbook Introduction to Algorithms, third edition, Cormen, Leiserson, Rivest, and Stein, 2009. MIT Press. ISBN: 978-0-262-03384-8 (hardcover), ISBN 978-0-262-53305-8 (paperback). V. Description In this course, you will study algorithms and data structures. You will learn techniques to analyze algorithms and determine time and space complexity of programs. You will also cover some algorithms for solving combinatorial problems. Major topics include time and space complexity, abstract data types, linear data structures, sets, trees and graphs, searching, and sorting. This course involves programming assignments as well as problem sets. Please think carefully about program design and apply good software engineering practices. Written design specs may be required for programming projects. VI. Course Outcome Students will be able to analyze the asymptotic behavior of algorithms using measures such as big-o, big-omega, and big-theta. Students will be able to write programs to solve computational problems, choosing appropriate algorithms and data structures beyond the introductory level. 1

VII. Course Objective Gaining factual knowledge (terminology, classifications, methods, trends): In particular, in this course you will learn definitions for asymptotic analysis of functions, methods for formulating and solving recurrence relations, classifications of algorithms and data structures in terms of abstract data types (ADTs), and the details of various algorithms. Learning fundamental principles, generalizations, or theories: The course will cover the motivation for using asymptotic analysis on algorithm performance. It will also cover general algorithmic techniques such as dynamic programming. Learning to apply course material (to improve thinking, problem solving, and decisions): In this course you will learn to solve simple recurrence relations, and you will implement algorithms covered in class. We will also discuss where asymptotic analysis can be applied, and where other considerations will outweigh it in choosing the best algorithm. VIII. Prerequisite CSCI 205 and MATH 241 IX. Attendance Attendance at all lectures and recitations is expected. While attendance won t always be taken, instructors appreciate knowing why students are absent. Please let your lecture or recitation instructor know in advance of planned absences. Note that regularly missing class is one of the potential special circumstances that could lead to a discretionary reduction in grade. X. Homework and Programs You will enjoy (and benefit from) this class more thoroughly if you successfully complete all the assignments. Some of these assignments will be problem sets and some will ask you to write programs. There will be roughly six assignments and you will always have at least one week to complete them. Please be neat when writing solutions to problem sets and, with programming assignments, make sure to document your code well (that is, write comments where appropriate). All assigned work is due on the date and at the time specified. Each student will be given 3 late days to use during the semester (a weekend counts as one day). When you hand in something late, indicate how many late days you are using and how many you think you have left. Once your late days are exhausted, any further late assignments will be accepted only at the discretion of the instructor, and with a penalty to be negotiated. For example, very late assignments have sometimes been accepted in past years at a substantial (e.g., 50%) penalty. Under certain circumstances, assignments may be accepted late without penalty. For example, written medical excuses from a doctor may be grounds for granting an extension. Also, it is sometimes possible to make prior arrangements for late submissions due to anticipated absences; be sure to talk to the instructor well before the anticipated absence. If a grade needs to be adjusted, please see your instructor as soon as possible after the return of the assignment. XI. Reading Assignment Complete the reading assignments by the date indicated in the lecture schedule. Be prepared to discuss and raise questions about the material. 2

XII. Grading Policy Your grade will be distributed as follows: HW & Programming Assignments: 30% Exam I: 20% Exam II: 20% Final Exam: 30% Grades may be adjusted upwards or downwards at the discretion of the instructor in special circumstances. For example, an extremely bad failing grade on the final exam could be the basis for a reduction of the final grade, as could excessive absences from class. XIII. Co-operative Work You are expected to work individually on the problem sets, and work on pairs for the programming assignments. Discussion of high-level design issues (e.g., how the data structures and algorithms discussed in class work and general ideas about how they can be applied and implemented) is allowed. Design of the code itself and the actual coding should be done only by the group members. Pseudocode for algorithms used in the programming assignments will usually be presented in lecture and/or in the course text. You are strongly encouraged to follow this pseudocode in writing your code because you should have a clear idea of how it works from class. There are numerous ways to implement most of these algorithms, however, and we have observed that students often go to other sources when writing their programs. If you do go to another source for information about how to implement an algorithm, be sure to reference that source in a comment in your code. That includes page numbers for books and URLs for web references. As is typical in programming, you may at some point require assistance in finding errors in your program. After you have made a good-faith effort to solve such a problem, ask a friend for help or see your instructor. "Help" in this context means assistance in determining what is wrong. You (and your team-mate) are responsible for fixing the problem. If cooperation is allowed on a problem set, the instructions will specify this, and will explain what level of cooperation is allowed. Typically you will be allowed to discuss issues with other teams or individuals. When the time comes to write down the solutions, however, each team or individual must produce its own document. Please observe Bucknell s Academic Responsibility guidelines and always consult your instructor when in doubt. Warning: Code from programming projects and problems from assignments will likely show up in exam questions. When working as a team, make sure that both members are involved in all parts of the assignment rather than splitting up the work and each doing half! XIV. Exams There will be two one-hour exams and a comprehensive final. The one-hour exams will be Monday 25 September and Monday 30 October. The final examination will be on Monday DD MON (8:00 AM - 11:00 AM). Missing exams because of illness will require an excuse from a doctor. Make-up exams for excuses other than illness will be given only in extraordinary circumstances and only at the discretion of the instructor. If you expect that you will need a make-up exam, contact your lecture instructor at least one week in advance. If a grade needs to be adjusted, please see your instructor as soon as possible after the return of the exam. All the exams will be closed-book unless I decide it to be otherwise. 3

XV. Academic Responsibility Students are expected to read and abide by the principles clearly explained in the Student Handbook in Section V. Additional information can be found in the information on academic responsibility on the Bucknell website. When in doubt, talk to your professor. XVI. Access Statement Any student who may need an accommodation based on the impact of a disability should contact his or her instructor privately to discuss the specific needs. Please contact Heather Fowler, Director of the Office of Accessibility Resources at 570-577-1188 or hf007@bucknell.edu, for help in coordinating reasonable accommodations for students with documented disabilities. XVII. Tentative Schedule Weeks Topic Reading Assignments 8/21 Administrative Issues and Introduction Ch 01 8/23 Basic Assumptions and Approach Ch 2.1, 2.2 8/24 Recitation 1: Summations, Functions, and proof techniques 8/25 Insertion Sort 8/28 Analysis of Iterative Code Ch 2.3 8/30 Divide and Conquer, Recurrences, Merge Sort Ch 3.1 8/31 Recitation 2: Running Time of an Iterative Code 9/01 Asymptotic Bounds 9/04 Little-o Notation Ch 3.1 9/06 Solving Recurrences Ch 4.1, 4.4 HW 01 9/07 Recitation 3: Practice Solving Recurrence Relations 9/08 Sorting Properties, Elementary Sorting Techniques 9/11 Elementary Sorting Techniques 9/13 Priority Queues & Heaps Ch 6 9/14 Recitation 4: Stoogesort 9/15 Building Heaps HW 02 9/18 Heapsort, Heapsort vs. Mergesort 9/20 Quicksort Ch 7 9/21 Recitation 5: Review for Exam I 9/22 Quicksort, Median-of-3 Partitioning 9/25 Exam I 9/27 Sorting in Linear Time: Counting Sort Ch 8 9/28 Recitation 6: Exam I: Post-mortem 9/29 Sorting in Linear Time: Radix Sort 10/02 Dictionaries Ch 11 10/04 Hashing: Hash Functions 10/05 Recitation 7: Hash Functions and Linear Probing 10/06 Hashing: Hash Functions HW 03 10/09 Fall Break: No Class 10/11 Hashing: Open Addressing 4

Weeks Topic Reading Assignments 10/12 Recitation 8: Binary Search Trees 10/13 Binary Search Trees (BSTs) Ch 12 10/16 Rotations and Randomized BSTs Ch 13 HW 04 10/18 Red-Black BSTs 10/19 Recitation 9: Rotation and Insertion in BSTs 10/20 Red-Black BSTs 10/23 Recursion and Dynamic Programming Ch 15 10/25 Dynamic Programming 10/26 Recitation 10: Review for Exam II 10/27 Dynamic Programming 10/30 Exam II 11/01 Graphs: Background and Representation Ch 22 11/02 Recitation 11: Exam II Postmortem 11/03 Graphs: Breadth-First Search and Depth-First Search 11/06 Graphs: Minimum Spanning Tree: Prim Ch 23 11/08 Graph: Minimum Spanning Tree: Kruskal HW 05 11/09 Recitation 12: Prim s and Kruskal s Algorithm 11/10 Graph: Dijkstra s Single Source Shortest Path Algorithm Ch 24 11/13 Union-Find Algorithm for Equivalence Relations 11/15 String Search: Rabin-Karp Ch 32 HW 06 11/16 Recitation 13: Dijkstra s Algorithm 11/17 String Search: Hash function for Rabin-Karp 11/20 Thanks Giving Holiday 11/22 Thanks Giving Holiday 11/24 Thanks Giving Holiday 11/27 String Search: using Finite Automata Ch 32 11/29 String Search: Knuth-Morris-Pratt Algorithm 11/30 Recitation 14: String Search 12/01 Review Class 12/04 Review Class XVIII. Special Instructions Laptop I encourage the students to bring their laptop in the class and in the recitations so that we all can practice some problems in class. Syllabus This syllabus may be modified as the course progresses. Notice of such changes will be announced in class or through Moodle. Have a Great Semester! 5