CS 5403 Data Structures and Algorithms TENTATIVE OUTLINE

Similar documents
Accounting 312: Fundamentals of Managerial Accounting Syllabus Spring Brown

Data Structures and Algorithms

DIGITAL GAMING AND SIMULATION Course Syllabus Advanced Game Programming GAME 2374

Foothill College Summer 2016

BUS Computer Concepts and Applications for Business Fall 2012

Business Computer Applications CGS 1100 Course Syllabus. Course Title: Course / Prefix Number CGS Business Computer Applications

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

Course Content Concepts

POFI 1349 Spreadsheets ONLINE COURSE SYLLABUS

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

CS Course Missive

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

The University of Texas at Tyler College of Business and Technology Department of Management and Marketing SPRING 2015

FINN FINANCIAL MANAGEMENT Spring 2014

CS 101 Computer Science I Fall Instructor Muller. Syllabus

WSU Five-Year Program Review Self-Study Cover Page

Records and Information Management Spring Semester 2016

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

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

Introduction to Information System

ADMN-1311: MicroSoft Word I ( Online Fall 2017 )

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

Spring 2016 Stony Brook University Instructor: Dr. Paul Fodor

MATH 1A: Calculus I Sec 01 Winter 2017 Room E31 MTWThF 8:30-9:20AM

Class Meeting Time and Place: Section 3: MTWF10:00-10:50 TILT 221

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

PSYCHOLOGY 353: SOCIAL AND PERSONALITY DEVELOPMENT IN CHILDREN SPRING 2006

Course Policies and Syllabus BUL3130 The Legal, Ethical, and Social Aspects of Business Syllabus Spring A 2017 ONLINE

CIS Introduction to Digital Forensics 12:30pm--1:50pm, Tuesday/Thursday, SERC 206, Fall 2015

Syllabus - ESET 369 Embedded Systems Software, Fall 2016

Class Numbers: & Personal Financial Management. Sections: RVCC & RVDC. Summer 2008 FIN Fully Online

INTRODUCTION TO GENERAL PSYCHOLOGY (PSYC 1101) ONLINE SYLLABUS. Instructor: April Babb Crisp, M.S., LPC

Texas A&M University-Central Texas CISK Comprehensive Networking C_SK Computer Networks Monday/Wednesday 5.

MAR Environmental Problems & Solutions. Stony Brook University School of Marine & Atmospheric Sciences (SoMAS)

Social Media Journalism J336F Unique ID CMA Fall 2012

SOUTHERN MAINE COMMUNITY COLLEGE South Portland, Maine 04106

BA 130 Introduction to International Business

ITSC 2321 Integrated Software Applications II COURSE SYLLABUS

COURSE INFORMATION. Course Number SER 216. Course Title Software Enterprise II: Testing and Quality. Credits 3. Prerequisites SER 215

Beginning and Intermediate Algebra, by Elayn Martin-Gay, Second Custom Edition for Los Angeles Mission College. ISBN 13:

Medical Terminology - Mdca 1313 Course Syllabus: Summer 2017

STA2023 Introduction to Statistics (Hybrid) Spring 2013

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

GENERAL CHEMISTRY I, CHEM 1100 SPRING 2014

Computer Science 1015F ~ 2016 ~ Notes to Students

EDU 614: Advanced Educational Psychology Online Course Dr. Jim McDonald

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

Math 181, Calculus I

Financial Accounting Concepts and Research

FINANCE 3320 Financial Management Syllabus May-Term 2016 *

Page 1 of 8 REQUIRED MATERIALS:

Psychology 101(3cr): Introduction to Psychology (Summer 2016) Monday - Thursday 4:00-5:50pm - Gruening 413

ASTR 102: Introduction to Astronomy: Stars, Galaxies, and Cosmology


Connect Microbiology. Training Guide

SOUTHWEST COLLEGE Department of Mathematics

Computer Architecture CSC

Phys4051: Methods of Experimental Physics I

GIS 5049: GIS for Non Majors Department of Environmental Science, Policy and Geography University of South Florida St. Petersburg Spring 2011

SYLLABUS. EC 322 Intermediate Macroeconomics Fall 2012

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

Course Syllabus for Math

BIOL Nutrition and Diet Therapy Blinn College-Bryan Campus Course Syllabus Spring 2011

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

ACC : Accounting Transaction Processing Systems COURSE SYLLABUS Spring 2011, MW 3:30-4:45 p.m. Bryan 202

Northeastern University Online Course Syllabus

BIODIVERSITY: CAUSES, CONSEQUENCES, AND CONSERVATION

Fundamental Accounting Principles, 21st Edition Author(s): Wild, John; Shaw, Ken; Chiappetta, Barbara ISBN-13:

Intensive English Program Southwest College

CS 100: Principles of Computing

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

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

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

Course Syllabus Art History II ARTS 1304

CIS 121 INTRODUCTION TO COMPUTER INFORMATION SYSTEMS - SYLLABUS

ITSC 1301 Introduction to Computers Course Syllabus

BUSI 2504 Business Finance I Spring 2014, Section A

Course Syllabus Advanced-Intermediate Grammar ESOL 0352

BIOL 2402 Anatomy & Physiology II Course Syllabus:

Instructor: Matthew Wickes Kilgore Office: ES 310

IST 440, Section 004: Technology Integration and Problem-Solving Spring 2017 Mon, Wed, & Fri 12:20-1:10pm Room IST 202

Scottsdale Community College Spring 2016 CIS190 Intro to LANs CIS105 or permission of Instructor

Required Texts: Intermediate Accounting by Spiceland, Sepe and Nelson, 8E Course notes are available on UNM Learn.

Department of Accounting ACC Fundamentals of Financial Accounting Fall, 2015 Syllabus

San José State University

Syllabus: CS 377 Communication and Ethical Issues in Computing 3 Credit Hours Prerequisite: CS 251, Data Structures Fall 2015

STANDARDIZED COURSE SYLLABUS

University of Pittsburgh Department of Slavic Languages and Literatures. Russian 0015: Russian for Heritage Learners 2 MoWe 3:00PM - 4:15PM G13 CL

PSY 1012 General Psychology. Course Policies and Syllabus

SPANISH 102, Basic Spanish, Second Semester, 4 Credit Hours Winter, 2013

Class Mondays & Wednesdays 11:00 am - 12:15 pm Rowe 161. Office Mondays 9:30 am - 10:30 am, Friday 352-B (3 rd floor) or by appointment

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

Academic Freedom Intellectual Property Academic Integrity

CHEMISTRY 104 FALL Lecture 1: TR 9:30-10:45 a.m. in Chem 1351 Lecture 2: TR 1:00-2:15 p.m. in Chem 1361

ACC 362 Course Syllabus

Interior Design 350 History of Interiors + Furniture

SYLLABUS: RURAL SOCIOLOGY 1500 INTRODUCTION TO RURAL SOCIOLOGY SPRING 2017

COURSE SYLLABUS: CPSC6142 SYSTEM SIMULATION-SPRING 2015

HIST 3300 HISTORIOGRAPHY & METHODS Kristine Wirts

Professors will not accept Extra Credit work nor should students ask a professor to make Extra Credit assignments.

Transcription:

CS 5403 Data Structures and Algorithms TENTATIVE OUTLINE Dr. Linda Grieco grieco@rama.poly.edu The Midterm and Final Exams are handwritten and given live on the Brooklyn and Melville campuses. For students who are out of state, you will be asked to arrange with the epoly staff to have your live exam proctored. These exams are closed book exams, no notes, no computers. The TIMES and LOCATIONS will be assigned individually to each student. I will be asking you for the days and times that you are available and your choice of campus, later in the term. Course level Graduate Bridge Course Course Information Prerequisites Graduate status, CS 530 with a grade of B or better, or Permission of the instructor General content This course provides an introduction to data structures. Topics covered include; program specifications and design; abstract data types, stacks, queues; dynamic storage allocation; sequential and linked implementation of stacks and queues; searching methods, sequential and binary; binary trees and general trees; hashing; computational complexity; sorting algorithms - selection sort, insertion sort, heap-sort, merge-sort and quick-sort; comparison of sorting techniques and analysis. Objectives To learn Computer Programming techniques that can be applied to the graduate computer science curriculum: Understanding of data structures Program specifications and design Abstract data types Stacks, queues Dynamic storage allocation Sequential and linked implementation of stacks and queues Searching methods, sequential and binary Binary trees and general trees Hashing; computational complexity Sorting algorithms - selection sort, insertion sort, heap-sort, merge-sort and quick-sort

Comparison of sorting techniques and analysis Methods of instruction The primary method of instruction is on line lectures supplemented with related readings from the text and supplemental notes that I have made up, programming assignments, quizzes and exams. Textbooks, Readings, Materials Textbook Data Structures and Other Objects using C++, Michael Main and Walter Savitch, Addison-Wesley, Fourth Edition ISBN-10:0132129485 Course Policies This is not a self-paced course. Students are expected to keep up with the course syllabus and observe the due dates. I do not give I grades (incompletes) for this course, except for extreme cases. I expect everyone to check their e-mail at least once a day and to respond to my e-mails when required promptly Exams A live midterm and a final exam will be given. The midterm exam covers material from the beginning of the course up to the exam. The final exam covers the entire course with an emphasis on the material covered since the midterm. Exam questions are based on material from the text, my supplemental notes, homework assignments, quizzes and lectures. These exams are live, handwritten, closed book, and without the use of compilers or computers. The Midterm and Final Exams are given on the Brooklyn and Melville campuses. For students who are out of state, you will be asked to arrange with the epoly staff to have your live exam proctored. The TIMES and LOCATIONS will be assigned individually to each student. I will be asking you for the days and times that you are available and your choice of campus, later in the term. Absence from exams will be accepted only if the student has notified me prior to the exam with an acceptable reason. Homework Assignments and Quizzes Roughly 7 homework assignments will be assigned with a due date. One of the main goals of this course is to enhance your ability as a programmer and the homework assignments are designed with this goal in mind. Programming is not a spectator

sport. It is unlikely that your ability to program will improve substantially just by listening to the lectures. It important that you master the material covered in the homeworks BEFORE you take the exams on that material. It is highly recommended that you start the homework assignments as soon as you can. This will enable you to ask me a question if you get stuck and to fully test and debug your program. You can ask questions at any time via e-mail. Some students actually send me their code when they get stuck, so that I can give them a hint! There is no penalty for this in fact, I strongly encourage it. I can also meet individuals in the chat room at a specific time- you just need to give send me an e-mail in advance and see that I confirm it. The first assignment Homework #1 is a review of the material covered in CS5303. You should do Homework #1 immediately, to help you clear out the cob-webs that may have accumulated since you took CS5303! If you find that you can not do this assignment, then you should contact me immediately so that you can try to switch you into the CS5303 course. You can not take CS5303 and CS5403 at the same time. You need to have mastered the material in CS5303, BEFORE you attempt CS5403. There will also be roughly 12 on-line quizzes given via the automated Blackboard quiz feature on the website. Each weekly quiz will cover the previous weeks material. You will be able to log on anytime during the week and take the quiz for that week. There are no makeups for missed quizzes. You can check the syllabus in advance to see what each quiz will cover this information can also be found in the weekly to do list on the website. Note: Homeworks and quizzes count for a substantial percentage of your overall grade (40%). Furthermore, if you do not do the homework problems, it is unlikely that you will understand the material and thus unlikely that you will do well on the exams. In some homework assignments you will re-use code written in early assignments, so it is important to keep up. Academic dishonesty Plagiarism, cheating, sharing of examination answers, submitting work done by others as your own, and all other forms of deception proscribed in University rules are forbidden. For the sake of your own dignity and self-esteem, it is better to get a low grade than to engage in dishonesty. This is a graduate course and I expect everyone to be professional and do their own work. I am available for extra one-on-one on-line office hours. The Computer and Information Science Department's Policy on Collaboration on Programming Assignments will be strictly enforced. Likewise, cheating on exams will not be tolerated and will be dealt with severely. Any student caught cheating on an exam or quiz will face a potential grade of F for this course and possible expulsion from Polytechnic University. This policy is STRICTLY enforced

Grading Policy The final grade will be based on the homeworks, quizzes, and two examinations and will be weighted as in the chart below after they are scaled back to 100 poijnts.. Midterm Examinations 30% Homework Assignments and Quizzes 40% Final Exam 30% I have been told that there is a new grading system for graduate courses that the school has approved starting Fall 2010, although I have not seen it in writing. The new grades that I can give for the course are A, A-, B+, B, B-.C+, C and F. This is based on tentative information that I have received! If it turns out that this information is incorrect, I will follow Poly s correct grading policy. I suspect that the old grades of A,B,C,F are the only grades I can give out for students completing I grades from previous semesters. Withdrawal: You must formally withdraw from this course to avoid a failing grade by the last to withdraw date. Information about formal withdrawal is contained in the Schedule of Classes.

Course Calendar FALL 2010 Week 1 9/7/10 9/12/10 The Phases of Software Development Read the Welcome Read the Syllabus Complete my questionnaire CS540 Questionnaire I and return it to me Read my handout : Getting the text under the GETTINGSTARTED tab. Get the textbook; Read chapter 1 in the text; Read my C++ REVIEW NOTES and NOTES ON PROGRAMMING DESIGN, which I will e-mail to you. View on-line lecture 1 which can be found under the LECTURENOTES. (Note there is a.pdf file of the slides. Many students find it useful to print the slides out in advance and then take notes on them as they view the lecture. They can be found under the LectureNotes-pdf version tab. Read my handout How To Use The System which can be found under the GETTING STARTED tab. Homework #0 is due by midnight on Tuesday 9/14/10 at midnight. Please take the time to do it.it s purpose is to let you test how to write, compile and submit a program. Homework #1 is basically a review of C++ basics. Note that there will be a new assignment next week. SO start on it sooner rather than later! Homework#1 is due on Monday 9/27/10 at midnight. Please see the HOW TO SUBMIT HOMEWORK which can be found under the GETTING STARTED tab. DO NOT USE CLASSES FOR Homework #1. Please note: If you can not do Homework #1, then you should contact me IMMEDIATELY so that we can switch you into CS5303! DO NOT WAIT FOR THE DUE DATE! I expect you to handle I/O and call by reference as a C++ programmer would code it. Do not wait, if you are in the wrong course you must switch quickly, before the registrar finalizes the rosters. You can NOT take CS5303 and CS5403 at the same time!

Abstract Data Types(ADT), C++ Classes Week 2 9/13/10 9/19/10 Week 3 9/20/10 9/26/10 Read chapter 2 in the text. Note that in the text talks about a THROTTLE class. I ve included notes on how I would set up and run a simplified version; using a single file in the powerpoint on-line LECTURE 2 Slide presentation. Read my notes on classes which I will e-mail to you. They cover the basics of classes. The textbook does a much more thorough job than I do in my notes and it could be a course in itself! I prefer to play down the class syntax and concentrate more on the algorithms and data structures. So I will not cover overloading of operators, nor friend functions. Nor will I hold you responsible for them. We will NOT be using the Standard Template Library (STL) and you may not use it for any of my homeworks, quizzes or exams.also we will write our code by putting it all in a single.cpp file and running it as usual - My lecture notes contain several examples of this. So read my notes First- to see what I think is important! This will make the closed book midterm and final exams doable!! View on-line lectures 2 and 3. Read the handout How To Take a Quiz Take the practice quiz. The actual quiz question has nothing to do with the course material. The purpose of this quiz is just to see how the system works. Your grade does not count.! CS5403 Practice QUIZ- followed by your name. Homework #2 is due on Monday 10/4/10 at midnight. DO not use STL for this or any other assignment, do NOT use friend functions or overloaded operators such as >> and <<. Container Classes Read Chapter 3 of the text. Read my notes on containers which I will e-mail to you. View online lecture 4 together with my comments. No new programming assignment this week. Take Quiz #1 this week on Review of C++ basics CS5403 Quiz 1- followed by your name I will reply to this e-mail so that I can send your graded quiz back to you with the correct solution attached.

Week 4 9/27/10 10/3/10 Week 5 10/4/10 10/10/10 Week 6 10/11/10 10/17/10 Pointers and Dynamic Arrays Read Chapter 4 of the text. Read my notes on pointers which I will e-mail to you. View on_line lecture 5. No new programming assigment this week Take Quiz #2 this week: Basics of C++ classes CS5403 Quiz 2- followed by your name Linked Lists Read sections 5.1 and 5.2 in Chapter 5. Read my notes on linked lists which I will e-mail to you. View on_line lecture 6. Arrange a time and location for your midterm exam. The exams are given the week of 11/1/10 11/7/10. I will be sending the Brooklyn and Melville students a questionnaire about their availablity so that I can pick a day and time in Brooklyn and Melville for their exam. When you get it, please respond promptly. Out of state students should arrange with the epoly staff to have their exam proctored at a location near them. Please try to take it early in the week- to allow time for your institution to mail me your exam, so that I can return the graded exam to you before the withdrawal date which is Tuesday 11/16/10. Everyone should send me an e-mail with their postal address, so that I can mail them their graded exam. Homework #3 which is due on Monday 10/25/10 at midnight. Take Quiz #3 this week on Chapter 4 Pointers and dynamic memory CS5403 Quiz 3- followed by your name Templates Read section 6.1 in Chapter 6. Read my notes on doubly linked lists and Templates which I will e-mail to you. I will be playing down the use of templates and will NOT require you to use them in the homeworks, quizzes or exams.

View online lecture 7 No new programming assignment Take Quiz #4 this week: Linked lists CS5403Quiz 4- followed by your name Week 7 10/18/10 10/24/10 Week 8 10/25/10 10/31/10 Week 9 Midterm Exam Week 11/1/10 11/7/10 Week 10 11/8/10 11/14/10 Stacks Read Chapter 7. Read my notes on Stacks which I will e-mail to you. View on_line lecture 8 Homework #4 which is due on Monday 11/15/10 at midnight. Take Quiz #5 this week: More Linked lists CS5403 Quiz 5- followed by your name Stacks (con t) Take Quiz #6 this week: Linked lists CS5403 Quiz 6- followed by your name THIS WEEK IS THE MIDTERM EXAM. I made it a little later in the semester than usual, so you have time to absorb the material. The midterm exam will cover up to and including linked lists. Stacks will NOT be on the exam. It is closed book, no notes, no calculator, no computers, no compilers. The supplemental notes that I have been e-mailing you together with the quizzes and homeworks should tell you what I think is important! NOTE: The last day to withdraw with a W grade from the course is Tuesday 11/16/10, so that everyone has to take it early in the week so that I can grade and return the exams. Queues Read Sections 8.1 8.3 in Chapter 8. Read my notes on Queues which I will e-mail to you. View online lecture 9

Do Homework #5 which is due on Monday 11/29/10 Take Quiz #7: Evaluating a postfix expression and converting postfix to infix CS5403 Quiz 7- followed by your name NOTE: The last day to withdraw with a W grade from the course is Tuesday 11/16/10. If you do decide to withdraw from the course- please make sure to do the following 1. Send me an e-mail 2. Send epoly an e-mail 3. Notify the registrar that you are dropping the course. The registrar is the only one who can actually drop you from the course and give you a W grade Week 11 11/15/10 11/21/10 Week 12 11/22/10 11/28/10 Recursion Read Chapter 9. Read my notes on Recursion which I will e-mail to you. View on_line lecture 10; Homework #6 which is due on Monday 12/6/10. Take Quiz #8 this week: Converting between Prefix, postfix and infix CS5403 Quiz 8- followed by your name Arrange a time and location for the final exam. The exams are given the week of 12/16/10 12/22/10. I will be sending the Brooklyn and Melville students a questionnaire about their availablity so that I can pick a day and time in Brooklyn and Melville for their exam. When you get it, please respond promptly. Out of state students should arrange with the epoly staff to have their exam proctored at a location near them. Please try to take it early in the week- to allow time for your institution to mail me your exam Binary Trees, Tree Traversal Read Chapter 10 Read my notes on Binary Trees which I will e-mail to you. View on_line lecture 11 and 12 Do Homework #7 which is due on Monday 12/13/10 Take Quiz #9 on recursion CS5403 Quiz 9- followed by your name

Week 13 11/29/10-12/5/10 Week 14 12/6/10 12/12/10 12/13/10-12/15/10 Catch-up days Final Exam Week 12/16/10 12/22/10 Searching (serial, binary, hashing) Read Chapter 12 Read my notes on Searching which I will e-mail to you. View online Lecture 13. Take quiz #10 on binary tree traversals CS5403 quiz 10- followed by your name Sorting Algorithms (insertion, selection, merge) Read Chapter 13 Read my notes on Sorting which I will e-mail to you. View online Lecture 14. Take quiz #11 on binary search trees. CS5403 quiz 11- followed by your name Everyone should know the exact day and time and location of their final exam by now. The exam will cover the entire course. The longer questions will emphasize material covered after the midterm exam linked lists, stacks, queues, binary trees, recursion. It will be closed book, no notes, no compilers, no computers. THIS WEEK IS THE FINAL EXAM. Everyone should know the exact day and time and location of their final exam by now. The exam will cover the entire course. The longer questions will emphasize material covered after the midterm exam linked lists, stacks, queues, binary trees, recursion. It will be closed book, no notes, no compilers, no computers.