Data Structures and Algorithms

Similar documents
Course Content Concepts

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

CS 101 Computer Science I Fall Instructor Muller. Syllabus

CS 100: Principles of Computing

Foothill College Summer 2016

CS Course Missive

SYLLABUS. EC 322 Intermediate Macroeconomics Fall 2012

BA 130 Introduction to International Business

International Business BADM 455, Section 2 Spring 2008

EECS 571 PRINCIPLES OF REAL-TIME COMPUTING Fall 10. Instructor: Kang G. Shin, 4605 CSE, ;

Math 181, Calculus I

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

ENEE 302h: Digital Electronics, Fall 2005 Prof. Bruce Jacob

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

Accounting 312: Fundamentals of Managerial Accounting Syllabus Spring Brown

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

Course Syllabus p. 1. Introduction to Web Design AVT 217 Spring 2017 TTh 10:30-1:10, 1:30-4:10 Instructor: Shanshan Cui

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

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

Syllabus CHEM 2230L (Organic Chemistry I Laboratory) Fall Semester 2017, 1 semester hour (revised August 24, 2017)

Introduction to Forensic Drug Chemistry

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

CIS 121 INTRODUCTION TO COMPUTER INFORMATION SYSTEMS - SYLLABUS

Syllabus for ART 365 Digital Photography 3 Credit Hours Spring 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

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

POFI 1349 Spreadsheets ONLINE COURSE SYLLABUS

Class Tuesdays & Thursdays 12:30-1:45 pm Friday 107. Office Tuesdays 9:30 am - 10:30 am, Friday 352-B (3 rd floor) or by appointment

BUS Computer Concepts and Applications for Business Fall 2012

Syllabus - ESET 369 Embedded Systems Software, Fall 2016


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

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

Instructor Experience and Qualifications Professor of Business at NDNU; Over twenty-five years of experience in teaching undergraduate students.

Course Name: Elementary Calculus Course Number: Math 2103 Semester: Fall Phone:

Page 1 of 8 REQUIRED MATERIALS:

Computer Science 1015F ~ 2016 ~ Notes to Students

Instructor Dr. Kimberly D. Schurmeier

Course Syllabus. Alternatively, a student can schedule an appointment by .

ITSC 2321 Integrated Software Applications II COURSE SYLLABUS

ENG 111 Achievement Requirements Fall Semester 2007 MWF 10:30-11: OLSC

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

ACADEMIC POLICIES AND PROCEDURES

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

PSYC 2700H-B: INTRODUCTION TO SOCIAL PSYCHOLOGY

PHILOSOPHY & CULTURE Syllabus

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

MARKETING ADMINISTRATION MARK 6A61 Spring 2016

CHMB16H3 TECHNIQUES IN ANALYTICAL CHEMISTRY

Computer Architecture CSC

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

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

MGMT 5303 Corporate and Business Strategy Spring 2016

TU-E2090 Research Assignment in Operations Management and Services

SYLLABUS: RURAL SOCIOLOGY 1500 INTRODUCTION TO RURAL SOCIOLOGY SPRING 2017

ECON492 Senior Capstone Seminar: Cost-Benefit and Local Economic Policy Analysis Fall 2017 Instructor: Dr. Anita Alves Pena

Spring 2016 Stony Brook University Instructor: Dr. Paul Fodor

Reference to Tenure track faculty in this document includes tenured faculty, unless otherwise noted.

MKTG 611- Marketing Management The Wharton School, University of Pennsylvania Fall 2016

Department of Anthropology ANTH 1027A/001: Introduction to Linguistics Dr. Olga Kharytonava Course Outline Fall 2017

FINN FINANCIAL MANAGEMENT Spring 2014

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

George Mason University Graduate School of Education Education Leadership Program. Course Syllabus Spring 2006

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

Master Syllabus ENGL 1020 English Composition II

Firms and Markets Saturdays Summer I 2014

CPMT 1347 Computer System Peripherals COURSE SYLLABUS

DIGITAL GAMING AND SIMULATION Course Syllabus Advanced Game Programming GAME 2374

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

MANAGERIAL LEADERSHIP

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

Last Editorial Change:

MAT 122 Intermediate Algebra Syllabus Summer 2016

Syllabus Foundations of Finance Summer 2014 FINC-UB

INTERMEDIATE ALGEBRA Course Syllabus

Welcome to WRT 104 Writing to Inform and Explain Tues 11:00 12:15 and ONLINE Swan 305

PHO 1110 Basic Photography for Photographers. Instructor Information: Materials:

FIN 571 International Business Finance

Preferred method of written communication: elearning Message

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

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

CS/SE 3341 Spring 2012

Social Media Journalism J336F Unique Spring 2016

Office: Colson 228 Office Hours: By appointment

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

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

ECO 2013-Principles of Macroeconomics

GERM 3040 GERMAN GRAMMAR AND COMPOSITION SPRING 2017

Course Syllabus Advanced-Intermediate Grammar ESOL 0352

COURSE WEBSITE:

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

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

MTH 215: Introduction to Linear Algebra

Android App Development for Beginners

ME nd Law Analysis of Engineering Systems

Syllabus ENGR 190 Introductory Calculus (QR)

Fullerton College Business/CIS Division CRN CIS 111 Introduction to Information Systems 4 Units Course Syllabus Spring 2016

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

PSCH 312: Social Psychology

ECON 6901 Research Methods for Economists I Spring 2017

Transcription:

CS 3114 Data Structures and Algorithms 1 Trinity College Library Univ. of Dublin

Instructor and Course Information 2 William D McQuain Email: Office: Office Hours: wmcquain@cs.vt.edu 634 McBryde Hall see course website CS 3114 Data Structures and Algorithms Advanced data structures and analysis of data structure and algorithm performance. Sorting, searching, hashing, and advanced tree structures and algorithms. File system organization and access methods. Course projects require advanced problem-solving, design, and implementation skills.

Course Objectives 3 Having successfully completed this course, the student will be able to: - Choose the data structures that effectively model the information in a problem. - Judge efficiency trade-offs among alternative data structure implementations or combinations. - Apply algorithm analysis techniques to evaluate the performance of an algorithm and to compare data structures. - Implement and know when to apply standard algorithms for searching and sorting. - Recognize and apply design patterns, and make judgments about when a particular pattern will improve a design. - Design, implement, test, and debug programs using a variety of data structures including buffer pools, hash tables, binary and general tree structures, search trees, tries, heaps, graphs, and B-trees. - Select appropriate methods for organizing data files and implement file-based data structures. - Apply object-oriented design principles to data structures in medium-scale software systems. - Apply design guidelines to evaluate alternative software designs.

Course TA 4 Maoyuan Sun Email: Office: McB 106/110 Office Hours: TBA smaoyuan AT vt DOT edu

Prerequisites CS 2104 Intro to Problem Solving in CS (for CS majors) CS 2114 Software Design and Data Structures CS 2505 Computer Organization I Math 2534 Discrete Mathematics 5 All students must have completed each of the CS prerequisites with a grade of C or higher (C- is not acceptable). There will be absolutely NO exceptions to these requirements. Note Lying about whether you meet the prerequisites is an Honor Code offense. Students who do so may be charged, at the discretion of the Department of Computer Science.

Text and Recommended References 6 Required: Data Structures and Algorithm Analysis in Java, 3rd Edition Mark Allen Weiss, Addison-Wesley, 2012 ISBN 978-0-13-257627-7 Recommended: CS 3114 Course Notes, Summer 2012 Edition W D McQuain, 2001-2012 (available ONLY at the course website) courses.cs.vt.edu/~cs3114/summer12/

Graded Work 7 Final grades will be based on the average achieved over the following : Item Weight Dates Programming Projects 40% See website Homework 20% See website Midterm 15% Tentatively: June 14 Final Exam* 25% 10:30 12:30 Saturday June 30 * Exam score will replace the midterm score, if it is higher.

Grade Policies 8 Grade Scale The usual 10-point scale will apply (subject to any curve). A final average of 90% will guarantee an A-, 80% will guarantee a B-, and so forth. Curve A grade curve may or may not be employed in this course. The application of a curve is dependent upon class performance on tests, projects and homework. The decision to utilize a curve rests entirely with the course instructor. Statute of Limitations Any questions about the grading of an assignment must be raised with your instructor within two weeks after the graded assignment has been made available to you.

Late Work 9 Late Penalties for Projects Project solutions can be turned in after the posted deadline, in which case a per diem penalty will be assessed. The penalty will be 10% per day. Extensions Any request for an extension must be made, preferably by email, at least 24 hours prior to the due date. Reasons must be valid (generally events beyond your control) and documented. Late submissions will not be given any credit if submitted after graded assignments or solutions have been released. Homework Usually, no late submissions will be allowed for homework assignments.

Project Evaluation 10 Evaluation of Correctness, Design and Implementation, and Documentation The correctness of operation of your programming projects will be evaluated by executing your solution with test data constructed by the course staff. While some test data will be provided, there is no guarantee that data will cover all cases. Each project will have certain explicit requirements for design and implementation. Your solution will also be evaluated for adherence to those requirements. You are expected to enter CS 3114 with considerable understanding of good software engineering practice, and you are expected to apply those lessons here. That means that you may be penalized for failing to make good decisions, even if there are no explicit guidelines in the specification of a project. You are also expected to incorporate professional internal documentation into your projects. See the Programming Standards page on the course website for some suggestions and samples.

Project Test Requirements Test Environments 11 - All programming assignments submitted are required to compile with javac version 6 update 20 or later. - Unless specified otherwise, programs will only be tested under that environment. - It is the YOUR responsibility to ensure that YOUR programs execute correctly in the appropriate environment; programs that do not will receive substantial deductions. Students developing with a different Java major version are advised that will almost certainly lead to problems. Your programs WILL be tested with the environment listed above. If it fails to compile, or exhibits incorrect behavior, we don t care that it may compile elsewhere, or appear to run correctly elsewhere.

Sources of Help for This Course 12 General Issues - CS 3114 classmates - CS 3114 Piazza board - CS 3114 TA - CS 3114 Instructor Java Language Help - CS 3114 Forum - texts from earlier courses Lecture Instruction Lectures will consist of presentations, applications, problems and solutions interspersed with classroom discussion.

Damage Control 13 Backups Students are responsible for making backup copies of all their work in this (and all) courses. Loss of work due to hard drive failure is NOT an acceptable excuse. Backup copies of files on the same hard drive are not backup copies. Backup copies of files on second hard drives are also risky. Backup copies should be maintained on two separate distinct storage mediums, (e.g., hard drives and Zip disks). Backup copies should be maintained until after the end of the term and students have received their course grade. (The Army lives by triplicate for a reason.) Remember: Computer systems are mechanical devices. Systems fail. Drives die. Bad sectors appear. Network connections break. Plan for it. It is inevitable!

Honor Code 14 An exhaustive list of Honor Code violations would be impossible to present here, but among other things, each of the following is a flagrant violation of the Virginia Tech Honor Code, and violations will be dealt with severely (Honor Court): Working with another student to derive a common program unless group work is explicitly allowed on that assignment. Discussing the details required to solve a programming assignment. You may not share solutions. Copying source code (programs) in whole or in part from someone else. Copying files from another student's disk even though they might be unprotected. It is acceptable to discuss with classmates a programming assignment in a general way, i.e., to discuss the nature of the assignment. In other words, you may discuss with your classmates what your program is required to accomplish but not how to achieve that goal using Java. In no way should the individual statements of a program or the steps leading to the solution of the problem be discussed with or shown to anyone except those people cited in the following statement.

Honor Code 15 Feel free to discuss the homework assignments and your program source code with the teaching assistants assigned to CS 3114, the instructor, or the free tutors provided by UPE. The discussion of your program source code must be limited to these people. Note that this specifically excludes discussions of your program source code with other students (even if they are not enrolled in CS 3114), or with tutors except for those named above. Privately hired tutors are not an exception to this requirement, nor are athletic or other tutors provided by the University. Copies of all submitted work are retained indefinitely by the Department. Submitted programs are subjected to automated analysis for detection of cheating. If you have any question as to how the Honor Code applies to this class, remember that: Any work done in this class must be done on an individual basis. Credit will be given only for work done entirely on an individual basis. Do not make any assumptions as to who can provide help on a programming assignment. All submitted work is archived. All submitted programs will be subjected to automated cheat analysis. Evidence indicating the violation of the policies stated above will be submitted to the Honor Court. It is much easier to explain a poor grade to parents or a potential employer than to explain an Honor Court conviction.