Algorithms and Data Structures.  Dr. Barry Wittman  Not Dr. Barry Whitman  Education:  PhD and MS in Computer Science, Purdue University  BS in Computer.

Slides:



Advertisements
Similar presentations
Intro to CIT 594
Advertisements

CSc 2310 Principles of Programming (Java)
Computer Science I CS121.
Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
CS 46101–600/CS Design and Analysis of Algorithms Dr. Angela Guercio Spring 2010.
CMSC 132: Object-Oriented Programming II
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
My Policies and Some Advice for Doing Well in this Course.
CS503: Tenth Lecture, Fall 2008 Review Michael Barnathan.
COMP 110 Introduction to Programming Mr. Joshua Stough August 22, 2007 Monday/Wednesday/Friday 3:00-4:15 Gardner Hall 307.
IS 320: Data Structures Spring Quarter DESCRIPTION This class is an introduction to data structures. The primary data structures—list, stack, queue,
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
Computer Security.  Dr. Barry Wittman  Not Dr. Barry Whitman  Education:  PhD and MS in Computer Science, Purdue University  BS in Computer Science,
© 2004 Goodrich, Tamassia CS2210 Data Structures and Algorithms Lecture 1: Course Overview Instructor: Olga Veksler.
CS 150 PERSONAL PRODUCTIVITY USING TECHNOLOGY Instructor: Dr. Xenia Mountrouidou.
COMP 465W: Software Engineering Fall Components of the Course The three main components of this course are: The study of software engineering as.
COMP 111 Programming Languages 1 First Day. Course COMP111 Dr. Abdul-Hameed Assawadi Office: Room AS15 – No. 2 Tel: Ext. ??
Welcome to CS 3260 Dennis A. Fairclough. Overview Course Canvas Web Site Course Materials Lab Assignments Homework Grading Exams Withdrawing from Class.
Systems Programming.  Dr. Barry Wittman  Not Dr. Barry Whitman  Education:  PhD and MS in Computer Science, Purdue University  BS in Computer Science,
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
CSc 2310 Principles of Programming (Java) Dr. Xiaolin Hu.
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
CST 229 Introduction to Grammars Dr. Sherry Yang Room 213 (503)
Computer Graphics.  Dr. Barry Wittman  Education:  PhD and MS in Computer Science, Purdue University  BS in Computer Science, Morehouse College 
Prof. Matthew Hertz WTC 207D /
Prof. Barbara Bernal NEW Office in J 126 Office Hours: M 4pm - 5:30 PM Class Lecture: M 6 PM - 8:30 in J133 Weekly Web Lecture between Tuesday to Sunday.
Data Structure Dr. Mohamed Khafagy. Welcome to the course Data Structure Personal Web Site Course
CSCE 1040 Computer Science 2 First Day. Course Dr. Ryan Garlick Office: Research Park F201 B –Inside the Computer Science department.
CS1201: Programming Language 2 C++(Course Introduction) Level 2 Nouf Aljaffan 1 st Term Nouf Aljaffan (C) CSC 1201 Course at KSU.
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
Introduction to Data Structures
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
PHY 1405 Conceptual Physics (CP 1) Spring 2010 Cypress Campus.
IPC144 An Introduction to Programming Using C. Instructor Murray Saul Office: Rm –Office hours are posted on my IPC144 web page or on bulletin board.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
Introduction to ECE 2401 Data Structure Fall 2005 Chapter 0 Chen, Chang-Sheng
1 1.Log in to the computer in front of you –Temp account: 231class / 2.Update your in Cascadia's system –If I need to you I'll use.
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
CSCE 1030 Computer Science 1 First Day. Course Dr. Ryan Garlick Office: Research Park F201 B –Inside the Computer Science department.
COP4610/CGS5765 Operating Systems Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: W M F 9:10am – 10:00am, or by appointments.
CS 139 – Algorithm Development MS. NANCY HARRIS LECTURER, DEPARTMENT OF COMPUTER SCIENCE.
Classroom logistics and practices PROGRAMMING FUNDAMENTALS.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2002 Sections Ms. Susan Mitchell.
1 Data Structures COP 4530 Spring 2010 MW 4:35 PM – 5:50 PM CHE 101 Instructor:Dr. Rollins Turner Dept. of Computer Science and Engineering ENB
CST 223 Concepts of Programming Languages Dr. Sherry Yang PV 171
BIT 143: Programming – Data Structures It is assumed that you will also be present for the slideshow for the first day of class. Between that slideshow.
Computer Security. D AVID B OWIE  Dr. Barry Wittman  Not Dr. Barry Whitman  Education:  PhD and MS in Computer Science, Purdue University.
Syllabus Highlights CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Formal Methods. D AVID B OWIE  Dr. Barry Wittman  Not Dr. Barry Whitman  Education:  PhD and MS in Computer Science, Purdue University.
Course Info Instructor U.T. Nguyen Office: CSEB Office hours: Tuesday, 14:30-15:30 Thursday, 12:00-12:45 By.
Data Structures and Algorithms in Java AlaaEddin 2012.
MIS 610: Seminar in Information Systems Management Yong Choi School of Business Administration CSU, Bakersfield.
CMPT 238 Data Structures Instructor: Tina Tian. General Information Office: RLC 203A Office Hour: Tue and Fri 12:30 - 2:00PM.
Faculty Expectations University of Louisville Disability Resource Center.
CSc 120 Introduction to Computer Programing II
All important information will be posted on Blackboard
CSc 1302 Principles of Computer Science II
CS5040: Data Structures and Algorithms
Computer Science 102 Data Structures CSCI-UA
September 27 – Course introductions; Adts; Stacks and Queues
Welcome to CS 1010! Algorithmic Problem Solving.
MA Fall 2016 Instructor: Matt Weaver Office: MATH 615
Welcome to College English 2!
Welcome to College English 2!
Welcome to College English 2!
Computer Science Practicum – Writing Intensive
CS Problem Solving and Object Oriented Programming Spring 2019
MA Fall Instructor: Tim Rolling -Office: MATH 719 -
Welcome to College English 2!
Presentation transcript:

Algorithms and Data Structures

 Dr. Barry Wittman  Not Dr. Barry Whitman  Education:  PhD and MS in Computer Science, Purdue University  BS in Computer Science, Morehouse College  Hobbies:  Reading, writing  Enjoying ethnic cuisine  DJing  Lockpicking

  Office:Esbenshade 284B  Phone:(717)  Office hours:MWF11:00am – 12:00pm MF3:30 – 5:00pm T1:00 – 3:00pm And by appointment  Website:

 What’s the purpose of this class?  What do you want to get out of it?  Do you want to be here?

 Robert Sedgewick and Kevin Wayne  Algorithms  4 th Edition, 2011, Addison-Wesley Professional  ISBN-10: X  ISBN-13:  First time I'm using this book!

 You are expected to read the material before class  If you're not prepared, you will be asked to leave  You will not be able to lecture about the subject  You will forfeit the opportunity to take quizzes  Much more importantly, you will forfeit the education you have paid around $100 per class meeting to get

 Java expertise  Computational complexity  Recursion  Sorting  Graph algorithms  A little concurrency  Data structures  Stacks  Queues  Binary trees  Hash tables  Undirected graphs  Directed graphs  Priority queues

 This class is serious business  Big theoretical component  Big coding component  We’ve got to catch up  Competition is stiff  Students at other American universities  Students abroad  People in software boot camps

 Tell me about a Java feature that you didn't learn in a lecture

 If you can solve the puzzle, you're given a harder one  Once you start getting puzzles so hard you can't solve it, are you:  Discouraged and ready to give up?  Excited and eager for more?

 People with fixed mindsets believe that they are unchanging  Either smart or stupid, good at CS or not  People with growth mindsets believe that they can change and improve  People who are excited by puzzles they can't solve have a growth mindset  Guess which mindset leads to greater happiness and success?

 Singly linked  Doubly linked  Circular  Pros and cons?

 Stacks  Queues  Pros and cons?

 Binary search trees  Red-black trees  Tries  B-trees

 Hashing functions  Strategies for collisions

 Model for representing many problems  Traversals  Shortest paths  Spanning trees  Eulerian tours  Hamiltonian tours  NP-completeness

 Linear search  Binary search  Heap sort  Quicksort  Merge sort  Bucket sort

 For more information, visit the webpage:  The webpage will contain:  The most current schedule  Notes available for download  Reminders about projects and exams  Syllabus (you can request a printed copy if you like)  Detailed policies and guidelines  Piazza will allow for discussion and questions about the projects:

 32% of your grade will be four equally weighted projects  Each will focus on a different major area from the course:  Arrays and memory management  Stacks and queues  Trees  Graphs  You will work on each project in two-person teams

 All projects are done in teams of two  You may pick your partners  But you have to have a different partner for each project!  Use the Groups tab under the People section on the Canvas page for CS221 to form teams  I will copy assignments from the leader’s class folder ( J:\FA \CS221A )

 Projects must be turned in by saving them in your team leader’s class folder ( J:\FA \CS221A ) before the deadline  Do not put projects in your public directories  Late projects will not be accepted  Exception: Each team will have 3 grace days  You can use these grace days together or separately as extensions for your projects  You must inform me before the deadline that you are going to use grace days  If two people in a team don't have the same number of grace days, the number of days they will have available will be the maximum of those remaining for either teammate

 15% of your grade will be from assignments, given roughly once every two weeks  4 of the assignments will be probably be written, and about 3 will be coding  There will be 7 assignments total  Assignments will not be due on weeks when projects are due  Each written assignment typeset in LaTeX is worth 1% extra credit applied to your final grade

 3% of your grade will be lectures that you give  You will give roughly two of these lectures at any time during the semester, without any warning  You will have 3 to 5 minutes in which you must present the material to be read for that day  Students are encouraged to ask questions  There is no better way to learn material than by teaching it  Polishing public speaking skills is never a bad thing

 5% of your grade will be pop quizzes  These quizzes will be based on material covered in the previous one or two lectures  They will be graded leniently  They are useful for these reasons: 1. Informing me of your understanding 2. Feedback to you about your understanding 3. Easy points for you 4. Attendance

 There will be two equally weighted in-class exams totaling 30% of your final grade  Exam 1:09/25/2015  Exam 2:11/02/2015  The final exam will be worth another 15% of your grade  Final:2:30 – 5:30pm 12/07/2015

 Conceptual portion  Short answer or matching questions  Programming portion  Short programming problems you will write code for

 Project 1:8% Tentatively due 09/18/2015  Project 2:8% Tentatively due 10/09/2015  Project 3:8% Tentatively due 11/06/2015  Project 4:8% Tentatively due 12/04/2015

32% Four projects Equally weighted 15% Homework assignments 3% Impromptu student lectures 5% Quizzes 30% Two equally weighted midterm exams 15% Final exam

 You are expected to attend class  You are expected to have read the material we are going to cover before class  Missed quizzes cannot be made up  If you miss a day without an excuse, you might get a zero for a lecture you should have given that day  Exams must be made up before the scheduled time, for excused absences

 I hate having a slide like this  I ask for respect for your classmates and for me  You are smart enough to figure out what that means  A few specific points:  Silence communication devices  Don’t use the computers in class unless specifically told to  No food or drink in the lab

 We will be doing a lot of work on the computers together  However, students are always tempted to surf the Internet, etc.  Research shows that it is nearly impossible to do two things at the same time (e.g. use Facebook and listen to a lecture)  For your own good, I will enforce this by taking 1% of your final grade every time I catch you using your computer for anything other than course exercises

 Don’t cheat  First offense:  I will give you a zero for the assignment, then lower your final letter grade for the course by one full grade  Second offense:  I will fail you for the course and try to kick you out of Elizabethtown College  Refer to the Student Handbook for the official policy  Ask me if you have questions or concerns  You are not allowed to look at another student's code, except for group members in group projects (and after the project is turned in)  I will use tools that automatically test code for similarity

Elizabethtown College welcomes otherwise qualified students with disabilities to participate in all of its courses, programs, services, and activities. If you have a documented disability and would like to request accommodations in order to access course material, activities, or requirements, please contact the Director of Disability Services, Lynne Davies, by phone ( ) or If your documentation meets the college’s documentation guidelines, you will be given a letter from Disability Services for each of your professors. Students experiencing certain documented temporary conditions, such as post-concussive symptoms, may also qualify for temporary academic accommodations and adjustments. As early as possible in the semester, set up an appointment to meet with the instructor to discuss the academic adjustments specified in your accommodations letter as they pertain to my class.

 I will do a refresher on:  Java syntax  Types  Libraries  Strings  OOP  Interfaces  Exceptions  Read 1.1  Ignore stuff about the StdIn and StdOut libraries the book provides

 Read section 1.1  Brush up on Java  Apply for a Shutterfly scholarship:  $5,500 for you  $4,500 to your K-12 schools  scholarship/ scholarship/  (You have to write an essay, but it's short)