CSCE 310J DATA STRUCTURES AND ALGORITHMS

Similar documents
CS 2302 Data Structures Spring 2015

CS 301 Course Information

CSCE 314 Programming Languages

Simulation and Probabilistic Modeling

College Algebra Online Course Syllabus

MAC2233, Business Calculus Reference # , RM 2216 TR 9:50AM 11:05AM

Retail Management. Office Hours: Tuesdays and Thursdays 8:30 to 9:30 am; 10:45 am to 12:30 pm; 1:45 pm to 2:45 pm Wednesdays 1 to 3:30 pm

San José State University CS160, Software Engineering, Sections 1, 2, and 4, Fall, 2015

02-201: Programming for Scientists

Computer Science CS 2334: Programming structures and abstractions

Introduction to Java Programming ITP 109 (2 Units) Fall 2015

COURSE DESCRIPTION. Required Course Materials COURSE REQUIREMENTS

INFORMATION AND REGULATIONS FOR SELF-PACED PROGRAMMING COURSES CS 3S, CS 9ABCDEFGH, CS 47ABC. Spring Semester 2008

LeMoyne-Owen College Division of Natural and Mathematical Sciences COMPUTER ALGORITHMS, COSI 335 Fall Syllabus

TA contact information, office hours & locations will be posted in the Course Contacts area of Blackboard by end of first week.

HARFORD COMMUNITY COLLEGE 401 Thomas Run Road Bel Air, MD Course Outline

Human Resource Management ( MGT 235) Fall, Credits. Phone: Office: E mail: Prerequisites: ENG 098, FYE 101, MAT 092, RDG 098 or placement.

Course Outline. 1. COURSE INFORMATION Session Offered Winter 2012 Course Name Mathematics V

ISM 3254 Business Systems I

MGMT 280 Impact Investing Ed Quevedo

Multimedia & the World Wide Web

CSC122/CYEN122: Intermediate Computer Programming

The University of Akron Department of Mathematics. 3450: COLLEGE ALGEBRA 4 credits Spring 2015

Introduction to Information Technology ITP 101x (4 Units)

FINN Principles of Risk Management and Insurance Summer 2015

Syllabus COMP 517 Computer Security Penn State Harrisburg Fall 2009

Course Objectives: This is a survey course to introduce you to the federal income tax system. The objectives of the course are to:

Software Quality. Learning outcomes and evaluation: Students that successfully complete the course will be able to:

FI 630 Financial Management I

Address: Office Phone: Office Hours: By appointment

BADM323: Information Systems for Business Professionals SU2016 Online Course

CS 300 Data Structures Syllabus - Fall 2014

Department of Accounting ACC Fundamentals of Financial Accounting Syllabus

CS 649 Database Management Systems. Fall 2011

CSC 314: Operating Systems Spring 2005

MATH 1900, ANALYTIC GEOMETRY AND CALCULUS II SYLLABUS

Math 103, College Algebra Spring 2016 Syllabus MWF Day Classes MWTh Day Classes

The course assumes successful completion of CSCI E-50a and CSCI E-50b, i.e. at least two semesters of programming, with a grade of C- or better.

MAC 2233, STA 2023, and junior standing

Geza Bottlik ISE310L Facilities and Logistics Spring /21/2009 Pre-Requisites: Test Schedule

Lehigh University CHEM 112 ORGANIC CHEMISTRY II Spring 2016 Course Syllabus. Instructors:

SYLLABUS MAC 1105 COLLEGE ALGEBRA Spring 2011 Tuesday & Thursday 12:30 p.m. 1:45 p.m.

MTH 420 Re-examining Mathematical Foundations for Teachers. Fall 2015

UCC1: New Course Transmittal Form

FACULTY OF MANAGEMENT PROFESSIONAL CONSULTING MGMT 3901 Y SPRING 2016

Prerequisites: C grade or above in ACG 2021

Required Textbook: Sciarra, Dorothy June, Dorsey, Anne G., Developing and Administering a Child Care and Education Program, 7th Edition.

Small Business Management ( MGT 110) Fall, 2013 Semester 3 Credits. Phone: Prerequisites: ENG 098, FYE 101, MAT 092, RDG 098 or placement.

the recursion-tree method

STAT 1403 College Algebra Dr. Myron Rigsby Fall 2013 Section 0V2 crn 457 MWF 9:00 am

ECON-2105, Principles of Macroeconomics, 1rst Half Term, Spring/2016

INFSCI 0017 Fundamentals of Object- Oriented Programming

Computer Science 4273 Software Engineering II Instructor: Chris Weaver Spring 2015

Math 121- Online College Algebra Syllabus Spring 2015

Business Ethics (BUS 105) Cycle II, Spring, 2012 Semester

Business Management ACC414 Intermediate Accounting 1 Fall 2009 Section 011

Geza Bottlik ISE310L Facilities and Logistics Fall /09/13 Instructor:

CSCI 230: Web Database I (ASP/PHP) (3 credits) Course Description

Course Design Document. IS103 Computational Thinking (CT)

CS 425 Software Engineering. Course Syllabus

FIN 430: Financial Modeling (Spring 2016) Professor Russell Jame Course Overview and Objectives Course Prerequisites Required Materials

University of Massachusetts Dartmouth Charlton College of Business Information Technology for Small Business MIS 375.

Management Science 250: Mathematical Methods for Business Analysis Three Semester Hours

January 10, Course MIS Enterprise Resource Planning Professor Dr. Lou Thompson Term Spring 2011 Meetings Thursday, 4-6:45 PM, SOM 1.

COURSE APPROVAL DOCUMENT Southeast Missouri State University

Sample Syllabus (C++) CSCI 1301 Introduction to Programming Principles

MATH 1310, SECTION 17086

Course Materials Required Text:

Florida Gulf Coast University. Spring, 2016 MAN 3320: EMPLOYEE STAFFING

INDIVIDUAL, SOCIETY, AND CULTURE

CS 306/491-3 Linux Programming Spring 2015

INFO & 090 Business Data Communications and Information Security Fall 2014

University of Colorado Denver College of Engineering & Applied Science CVEN 5235 Advanced Construction Engineering

MAT 117: College Algebra Fall 2013 Course Syllabus

ECE 3803: Microprocessor System Design D Term 2011 Course Syllabus Department of Electrical and Computer Engineering Worcester Polytechnic Institute

COURSE OUTLINE ENGLISH 100 ACADEMIC WRITING AND CRITICAL THINKING 45 HOURS 3 CREDITS

CSC 281 Automata and Algorithms Spring 2009

CS 1361-D10: Computer Science I

ISM 4403 Section 001 Advanced Business Intelligence 3 credit hours. Term: Spring 2012 Class Location: FL 411 Time: Monday 4:00 6:50

CSE532 Theory of Database Systems Course Information. CSE 532, Theory of Database Systems Stony Brook University

LeMoyne-Owen College. Division of Natural and Mathematical Sciences Programming in Java II, COSI 225 Spring, 2016

CS 4330: Mobile Application Development Spring 2015

Workflow Design and Analysis

Governors State University College of Business and Public Administration. Course: STAT Statistics for Management I (Online Course)

Precalculus Algebra Online Course Syllabus

AGEC 448 AGEC 601 AGRICULTURAL COMMODITY FUTURES COMMODITY FUTURES & OPTIONS MARKETS SYLLABUS SPRING 2014 SCHEDULE

Bibliography. TIE DATA STRUCTURES AND ALGORITHMS Autumn 2013 Terhi Kilamo. 1.1 Learning outcome. 1 The course in 2013

Criminal Justice I. Mr. Concannon Smith Website:

Please see web page for the course information.

Management 3050 Y Human Resource Management

Psychological Testing (PSYCH 149) Syllabus

UVA IT3350 Syllabus Page 1

RED DEER COLLEGE DEPARTMENT OF HUMANITIES AND SOCIAL SCIENCES ECON 201 C Introduction to Microeconomics Fall 2014

Syllabus: IST451. Division of Business and Engineering. Penn State Altoona

University of Massachusetts Dartmouth Charlton College of Business Information Technology for Small Business MIS 375 (Online Course)

Peru State College, Peru, NE. MGMT 602 Research Methods. Master of Science in Organizational Management. Syllabus Spring Semester 2014

Office: LSK 5045 Begin subject: [ISOM3360]...

NORTHWESTERN UNIVERSITY Department of Statistics. Fall 2012 Statistics 210 Professor Savage INTRODUCTORY STATISTICS FOR THE SOCIAL SCIENCES

DSBA/MBAD 6211 Advanced Business Analytics UNC Charlotte Fall 2015

Math Courses Available After College Algebra. nsm.uh.edu

Transcription:

CSCE 310J DATA STRUCTURES AND ALGORITHMS Fall 2004 TuTh 2:30 4:30pm Kauffman 112 Instructor: Dr. Steve Goddard Office Hours: 12:00-2:30pm TTh Kauffman 133 (Or by appt.) 472-9453 (TTh) 472-9968 (MWF) goddard@cse.unl.edu http://cse.unl.edu/~goddard TA: Mathew Johnson Office Hours: 4:30-5:30pm M-Th Kauffman 133 (Or by appt.) 472-9453 msjohnso@unlnotes.unl.edu Course Overview An algorithm is a set of instructions that, when followed, solve a specific problem. Programs are implementations of algorithms that are executed by computers. The computer science goals of this course are to study classic data structures and algorithms that solve common problems and to learn standard approaches to solving new problems. A rigorous approach to the analysis and comparison of algorithms will be followed that includes asymptotic notation and proofs of correctness. Discrete mathematics, which forms the foundation for rigorous analysis, will be covered as needed. The course will involve substantial programming and written assignments. A broader set of objectives for this course is to teach critical thinking, how to learn, and how to communicate technical concepts. These objectives will be met through lectures, challenging team and individual assignments, regular quizzes, and a final examination. The following topics will be covered: The basics of algorithm analysis including o Asymptotic notation o Complexity classes o Discrete mathematics o Recursion and induction (proofs). o Creating and solving recurrence relations Algorithmic techniques, including o Brute Force o Divide-and-Conquer o Decrease-and-Conquer o Transform-and-Conquer o Space and Time Tradeoffs o Dynamic Programming o Greedy Techniques

o Distributed Algorithms Theory of computing, including o Finite state machines o The halting problem o Tractable and intractable problems o Complexity classes like P, NP, and NP-Complete 2 Course Materials The textbook for this course is Introduction to the Design and Analysis of Algorithms, Anany Levitin, Addison Wesley, 2003. We will probably cover Chapters 1-7, except Sections 2.5, 2.7, 4.5, 5.4, 6.2, 6.5, and 7.2; Section 8.4 of Chapter 8; Sections 9.1-9.3 of Chapter 9; Section 10.3 of Chapter 10; Sections 11.1-11.3 of Chapter 11; Appendix A and B. The actual sections covered and order may vary slightly. I will provide supplemental information for Distributed Algorithms, Finite State Machines, and the Halting Problem. You will be doing substantial programming in the C++ language and working with the Linux/Unix operating system. The book, Just Enough UNIX, Paul Anderson, McGraw-Hill, 2003, will be helpful in learning the operating system and programming environment. In addition to the texts, I will make available a set of lecture notes for each class. These notes are purposely incomplete and are meant to simply be a note-taking aid. The lecture notes, as well as copies of most class handouts, can be found on the CSCE 310J home page on the Web at URL: http://www.cse.unl.edu/~goddard/courses/csce310j/ Prerequisites Prerequisites for this course are CSCE 156 (Introduction to Computer Science II). Prerequisites by specific topics are: 1. Mastery of data structures including list, stacks, and queues. 2. Familiarity with recursion. 3. Exposure to complexity analysis. As part of our ongoing accreditation process, there will be an evaluation of your understanding of the material covered in the prerequisite courses. This evaluation will be graded as a homework assignment. Grading Your grade in this class will based on: 1 Assignments 30%, Classroom participation, peer, and instructor evaluation 5% Programming project 15%, Bi-weekly (15-20 minute) Quizzes 25%, and Final examination 25%. 1 The percentages listed are only approximate and are subject to change (by no more than 5%).

3 A minimum grade of C is required for the course to count toward a CS/CE major or minor. Note: a grade of C- does NOT count toward a CS/CE major or minor. No incompletes (I) will be given. Letter grades will be assigned at the end of the semester, using the percentage of possible points, as follows: A+: 101+ A: 93-100 A-: 90-92 B+: 87-89 B: 83-86 B-: 80-82 C+: 77-79 C: 73-76 C-: 70-72 D+: 67-69 D: 63-66 D-: 60-62 F: 0-59 Assignments: Homework will be assigned approximately on a bi-weekly basis. Many assignments will be team assignments and will include programming exercises and analytical (pen and paper) problems. Teams will be randomly selected for team assignment. All assignments will be due at 9pm on the day on which they are due. Assignments will be submitted via the Web-handin program. All homework submitted after its deadline is considered late. Assignments that are submitted within 24 hours after the original deadline are considered to be one day late, within 48 hours, two days late, etc. A late homework assignment, but not the final project, will be accepted without penalty if the following conditions are met: the total lateness of all homework assignments received to date (including the current assignment) does not exceed 3 days. the student does not miss class on the day the assignment is due or on the day after the assignment is due. Exceptions to this requirement must be approved by the instructor in advance. Late programs should be handed in with the Web-handin program. The penalty for late assignments is 25% per day they are late. An assignment that is 4 days late will receive no credit. Weekends count in evaluating the lateness of an assignment. Program correctness is assumed and only accounts for a portion of the assignment grade. Each assignment will also require a document that describes the design; design tradeoffs considered; an analysis of the program s computational complexity (when requested); testing performed; and a detailed description of outstanding program defects. All programs will follow the JDEHP coding standard. The coding standard specifically addresses programs written in Java, C++ and C, but it can easily be extended to cover other programming languages. Peer and Instructor Evaluation: Each student will be required to fill out and submit an evaluation form that describes the performance of the team members and the team as a unit for each assignment, including the course project. These evaluations will be combined with the instructor s personal evaluation of each student s performance in the team and in the classroom. Course Project: The course project will integrate all concepts covered during the semester, but it is more open-ended than regular assignments. A written proposal and a final report will be required. The final report and program source code will be due 9:00pm Saturday, December 11, 2004. There will be NO late days allowed for the course project. A penalty of 25% per day will be assessed for late projects. Early submissions are encouraged. Consider this your notice of an assignment due during Dead Week. More details regarding the project will be distributed after Fall Break.

4 Quizzes: There will be NO midterm examination. Quizzes, given approximately every two weeks, will take the place of a midterm exam. Final Examination: The final exam for this course is scheduled for Monday, December 13 at 3:30 pm. The final exam covers the entire course. Expected Workload Regular Lectures: 4 hours per week Support Lectures: Additional lectures (1 hour each) may be provided during the semester Study / Project: average of 8 hours per week No classes on Tuesday October 19 th and Thursday November 25 th Course Conduct and Academic Integrity Many of the assignments will be team assignments that will require collaboration within your team. Individual assignments consist of a team of one (for the purposes of this section). Acceptable collaboration with students not on your team (or for an individual assignment) includes: discussing the assigned problems to understand their meaning, discussing possible approaches to assigned problems, discussing general programming principles in the solution of programming problems or UNIX system features that will help solve the problem. In all cases you must explicitly acknowledge any and all substantive help received from other teams during the course of the preparation of your solution. That is, if you collaborate with other teams then you must include an explicit acknowledgment in your solution of the persons from whom you received aid. Individual assignments are defined as a team of one person. Unacceptable collaboration, unless explicitly stated, on homework includes: copying (verbatim use) of physical papers or computer files. 2 submission of solutions that are jointly authored, or authored either wholly or in part by other individuals not on your team. The general rule to be followed is that the strategy and approach of solutions may be developed jointly but all actual solutions (i.e., the final solution) must be constructed and written up by individual teams. Work done with other teams should not be done in sufficient detail as to make it a solution. For example, the design of a program solution may be performed jointly, however, each team must write all the code they eventually submit as their solution. No code may be shared between teams. Similarly, for written assignments, solutions may sketched out with other teams, however each team must construct the final form of their solution individually and write-up their own solution. You will be held accountable if someone else copies your work, even if you are unaware of the event. Thus, you should make sure all of your files are properly secured. Unacceptable collaboration will be considered a violation of the Student Code of Conduct, and will result in a failing grade for the course. In other words: if you cheat, you will fail! In addition, the incident will be reported to the CSE Department and to the JDEHP Director, in 2 This includes computer files that are copied and then edited and/or reformatted.

5 accordance with the CSCE department policy on academic integrity. You are responsible to read the CSCE department policy and adhere to it. Should questions arise during the course of working on a problem, please feel free to immediately contact the instructor either by telephone, electronic mail, or by an office visit. In principle, if you work with others in good faith and are honest and generous with your attributions of credit you will have no problems. Special Needs Any student in this course who has a disability that necessitates accommodation should contact the instructor as soon as possible to discuss the appropriate accommodations necessary to complete the course requirements.