CS 2302 Data Structures Spring 2018

Similar documents
Data Structures and Algorithms

Business Analytics and Information Tech COURSE NUMBER: 33:136:494 COURSE TITLE: Data Mining and Business Intelligence

BUS Computer Concepts and Applications for Business Fall 2012

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

Course Content Concepts

MTH 215: Introduction to Linear Algebra

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

CS 100: Principles of Computing

Syllabus - ESET 369 Embedded Systems Software, Fall 2016

Foothill College Fall 2014 Math My Way Math 230/235 MTWThF 10:00-11:50 (click on Math My Way tab) Math My Way Instructors:

DIGITAL GAMING AND SIMULATION Course Syllabus Advanced Game Programming GAME 2374

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

SYLLABUS. EC 322 Intermediate Macroeconomics Fall 2012

Accounting 312: Fundamentals of Managerial Accounting Syllabus Spring Brown

CS 101 Computer Science I Fall Instructor Muller. Syllabus

COMM370, Social Media Advertising Fall 2017

International Business BADM 455, Section 2 Spring 2008

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

Social Media Journalism J336F Unique ID CMA Fall 2012

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

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 181, Calculus I

Foothill College Summer 2016

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

MKT ADVERTISING. Fall 2016

Biology 1 General Biology, Lecture Sections: 47231, and Fall 2017

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

Instructor: Matthew Wickes Kilgore Office: ES 310

ENME 605 Advanced Control Systems, Fall 2015 Department of Mechanical Engineering

HUMAN DEVELOPMENT OVER THE LIFESPAN Psychology 351 Fall 2013

BIOL 2402 Anatomy & Physiology II Course Syllabus:

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

British International School Istanbul Academic Honesty Policy

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

Medical Terminology - Mdca 1313 Course Syllabus: Summer 2017

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

CHMB16H3 TECHNIQUES IN ANALYTICAL CHEMISTRY

WSU Five-Year Program Review Self-Study Cover Page

CS Course Missive

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

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

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

Page 1 of 8 REQUIRED MATERIALS:

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

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

Intensive English Program Southwest College

CSCI 333 Java Language Programming Fall 2017 INSTRUCTOR INFORMATION COURSE INFORMATION

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

HIST 3300 HISTORIOGRAPHY & METHODS Kristine Wirts

Course Syllabus for Math

MGMT 479 (Hybrid) Strategic Management

SOUTHERN MAINE COMMUNITY COLLEGE South Portland, Maine 04106

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

Course Syllabus Advanced-Intermediate Grammar ESOL 0352

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

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

Human Development: Life Span Spring 2017 Syllabus Psych 220 (Section 002) M/W 4:00-6:30PM, 120 MARB

Syllabus ENGR 190 Introductory Calculus (QR)

Computer Architecture CSC

TEACHING SECOND LANGUAGE COMPOSITION LING 5331 (3 credits) 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

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

ECON 484-A1 GAME THEORY AND ECONOMIC APPLICATIONS

Math 96: Intermediate Algebra in Context

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

Cleveland State University Introduction to University Life Course Syllabus Fall ASC 101 Section:

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

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

*In Ancient Greek: *In English: micro = small macro = large economia = management of the household or family

Soil & Water Conservation & Management Soil 4308/7308 Course Syllabus: Spring 2008

Chromatography Syllabus and Course Information 2 Credits Fall 2016

Physics 270: Experimental Physics

English Policy Statement and Syllabus Fall 2017 MW 10:00 12:00 TT 12:15 1:00 F 9:00 11:00

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

GERM 3040 GERMAN GRAMMAR AND COMPOSITION SPRING 2017

General Physics I Class Syllabus

SPM 5309: SPORT MARKETING Fall 2017 (SEC. 8695; 3 credits)

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

BIODIVERSITY: CAUSES, CONSEQUENCES, AND CONSERVATION

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

ACADEMIC POLICIES AND PROCEDURES

BADM 641 (sec. 7D1) (on-line) Decision Analysis August 16 October 6, 2017 CRN: 83777

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

COURSE BAPA 550 (816): Foundations of Managerial Economics Course Outline

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

CS 3516: Computer Networks

Spring 2016 Stony Brook University Instructor: Dr. Paul Fodor

San José State University

CIS 121 INTRODUCTION TO COMPUTER INFORMATION SYSTEMS - SYLLABUS

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

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

GACE Computer Science Assessment Test at a Glance

STA2023 Introduction to Statistics (Hybrid) Spring 2013

Bittinger, M. L., Ellenbogen, D. J., & Johnson, B. L. (2012). Prealgebra (6th ed.). Boston, MA: Addison-Wesley.

ECON 6901 Research Methods for Economists I Spring 2017

CALCULUS III MATH

MGMT 3362 Human Resource Management Course Syllabus Spring 2016 (Interactive Video) Business Administration 222D (Edinburg Campus)

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

The Policymaking Process Course Syllabus

FIN 571 International Business Finance

Transcription:

1. General Information Instructor: CS 2302 Data Structures Spring 2018 Olac Fuentes Email: ofuentes@utep.edu Web: www.cs.utep.edu/ofuentes Office hours: Tuesdays and Thursdays, 10:30-12:00, or by appointment, in CCSB 3.0412 (feel free to drop by at other times if my door is open). Chat: olacfuentes@gmail.com Teaching Assistants (TA): Zakia Al Kadri Email: zalkadri@miners.utep.edu Office hours: TR, 10:00-11:30; F, 10:00-11:00 in CCSB 1.0706 Peer Leader: TBD Email: Office hours: Lectures M-W 10:30-11:50 in LART 319 Class web site: www.cs.utep.edu/ofuentes/cs2302.html Textbook Data Structures and Algorithm Analysis in Java, by Mark Allen Weiss. Addison Wesley, Third Edition, 2011. 2. Objectives and Outcomes This is the third and final course in the fundamental computer science sequence. Students will learn about fundamental data structures and analysis and design of algorithms. Level 3: Synthesis and Evaluation: Level 3 outcomes are those in which the student can apply the material in new situations. This is the highest level of mastery. On successful completion of this course, students will be able to 1. Given a problem, judge which data structures are required to solve it efficiently and justify the selection. 2. Given a non-recursive algorithm, examine its loop structure, assess its asymptotic running time, and express it using big-o notation. 3. Given a recursive algorithm, examine its structure, formulate and solve a recurrence equation defining its running time, and express it using big-o notation. 4. Design and implement solutions to computational problems based on iteration and recursion. 5. Trace the behavior of non-trivial methods and algorithms.

Level 2: Application and Analysis: Level 2 outcomes are those in which the student can apply the material in familiar situations, e.g., can work a problem of familiar structure with minor changes in the details. Upon successful completion of this course, students will be able to: 1. Describe, implement, and use the following data structures: a. Heaps b. Hash tables c. Balanced trees d. Graphs e. Disjoint set forests 2. Describe, implement, and apply the following graph algorithms: a. Connected components b. Breadth-first search c. Depth-first search d. Topological sorting e. Minimum spanning trees (Kruskal's and Prim's) f. Single-source shortest paths (Dijkstra s algotrithm) 3. Trace the behavior of recursive programs using activation records. 4. Reason about the running times of algorithms in relation to the size of their inputs. Level 1: Knowledge and Comprehension Level 1 outcomes are those in which the student has been exposed to the terms and concepts at a basic level and can supply basic definitions. On successful completion of this course, students will be able to: 1. Explain the concept of polymorphism 2. Identify and explain the following algorithm design techniques: a. Greedy algorithms b. Divide and conquer c. Dynamic programming d. Backtracking 3. Explain the concept of NP completeness. 4. Explain the utility of randomized algorithms. 3. Policies and Other Information Prerequisites: Minimum "C" grade in CS2401 and MATH 2300. Textbook: Reading and laboratory assignments will be drawn from Data Structures and Algorithm Analysis in Java by Mark Allen Weiss. You are required to obtain this book for use in this course. Grading: Final grades will be based on a combination of lab projects, homework assignments, in-class attendance and performance, three partial exams, and a final exam. The approximate weights are as follows: 25 % - Lab projects 10 % - Quizzes, homework and in-class exercises 39 % - Partial Exams (3 exams) 26 % - Final Comprehensive Exam The nominal percentage-score-to-letter-grade conversion is as follows: 90% or higher is an A 80-89% is a B 70-79% is a C 60-69% is a D below 60% is an F

Additionally, any one of the following will result on a final grade of F, even if the overall average is greater than 60%. Obtaining an average of less than 60% in the lab projects Obtaining a grade of less than 50% in the final exam Obtaining an average of less than 50% in the partial exams Not submitting ALL lab projects by the end of the semester, even if they are too late to receive credit We reserve the right to adjust these criteria downward, e.g., so that 88% or higher results in an A, based on overall class performance. The criteria will not be adjusted upward, however. You must earn a C or better to be able to register for upper division computer science courses. Late homework submission: Homework up to a day late will receive up to 80% of full credit, and it will not be accepted after that. Collaboration: Collaboration among students is strongly encouraged. It is OK to: Talk with other students about approaches and ideas. Get ideas and extra information from the internet, books, etc. However, it is not OK to: Share code with another student (if a piece of code is submitted by two or more students, both students are guilty of cheating, regardless of who wrote the original code). Use code acquired from an outside source (the internet, a friend, etc.) Look at another student s code Debug another student s code We will use software to detect plagiarized programs and take appropriate disciplinary actions if necessary. Cellular telephones are prohibited during lectures. Students are required to turn off their cellular telephones before entering the classroom. Laptops and tablets are usually not allowed during lectures. If you wish to use yours to take notes (which is discouraged) you must obtain permission from the instructor. Attendance policy: Students are expected to attend all lectures. Students arriving more that five minutes after the start of a lecture won t be allowed to enter the classroom. A student missing more than four lectures without making prior arrangements will be dropped from the class. Disabilities: If you feel that you may have a disability that requires accommodation, contact the The Center for Accommodations and Support Services (CASS) at 747-5148, go to Room 106E Union, or email cass@utep.edu 4. Lab Submission Guidelines Lab assignments will be posted on-line. Each lab grade will be computed from the following three elements: Report (40% of grade) Source code (60% of grade) Demo session (pass/fail) Report: You must submit a printed report of every lab that includes the following items: Introduction Description of the problem you are trying to solve Proposed solution design and implementation How did you solve (or attempt to solve) the problem? Provide an informal, high-level description. Description of your code (not the actual code). Explain the design choices you made, including how you broke the program into modules, your user interface, input and output, etc. Experimental results Describe the experiments you performed to test your program and show the output your program produced. The experiments must be described in a way that allows anybody to replicate them using your

code. Include sample runs that illustrate the outputs and running times of your program under different types of inputs. If results are not included in the report, we will assume that your program does not work. Conclusions Explain what you learned from the project. Appendix Source code A signed academic honesty certification stating the following: I certify that this project is entirely my own work. I wrote, debugged, and tested the code being presented, performed the experiments, and wrote the report. I also certify that I did not share my code or report or provided inappropriate assistance to any student in the class. Reports will be graded as follows: Completeness (12%) Does your report cover all required aspects in enough detail? Clarity (10%) Are those aspects clearly explained? Language (10%) Is the report written with proper grammar and spelling? Presentation (8%) Is the formatting appropriate? Source Code: Working programs and reports must be submitted by email to both your TA and instructor, using the e-mail addresses listed below. Labs not submitted this way will not be eligible for credit. Olac Fuentes: olacfuentes@gmail.com Include at the beginning of the subject line the following characters: [CS2302] Source code will be graded using the following guidelines: Correctness (36%) Does the program compile? Does the program run correctly? Design (6%) Are operations broken down into methods in a reasonable way? Style (6%) Is the program indented correctly and consistently? Do methods and variables have meaningful names? Robustness (6%) Does the program handle erroneous or unexpected input gracefully? Documentation (6%) Do all program files begin with a comment that identifies the course, author, assignment, instructor, T.A., date of last modification, and purpose of program? Are all methods clearly documented? Are all non-obvious code segments clearly explained? Programs will be tested by the T.A. using the version of Eclipse and Java installed in the main lab. Students are free to use any programming environment they want, but it s their responsibility to ensure that there are no compatibility problems. Demo session: After submitting your program and your report, you must schedule a one-on-one session with your TA in which you will explain how your code works and he/she will ask questions to test your understanding of the program being submitted. The TA will then assign a pass/fail grade for this session. A student receiving a failing grade in this session will receive a grade of zero for the whole lab; otherwise he/she will receive the grade corresponding to the combination of submitted report and source code. Demo sessions will last around five minutes and will normally be scheduled during the T.A. s office hours. It is the student s responsibility to make an appointment with the T.A. for the demo session in a timely manner. Failure to schedule or show up for a demo session will result in a failing grade for the corresponding lab.

Policy on late projects: Lab project grades will be reduced by a factor of 10% for each working day or fraction they are late. Official turn-in dates: For grading purposes, the official turn-in date for labs is when all three parts are finished. Thus, a lab will be considered to be late if ANY of the three parts is late. There will be a two-working-day grace period for reports and a three-day grace period for demo sessions. For example, if a lab is due on Monday, the source code must be submitted on or before midnight on Monday, the report must be submitted on or before Wednesday and the demo must be shown on or before Thursday. You can t schedule a demo unless you have submitted the source code and the report. Missing lab assignments: All labs must be submitted by the end of the semester in order to pass the class. Additionally, a student who has submitted less than 75% of the labs due by the time a midterm exam is given won t be allowed to take that exam. 5. Standards of Conduct and Academic Dishonesty You are expected to conduct yourself in a professional and courteous manner, as prescribed by the UTEP Standards of Conduct: https://admin.utep.edu/portals/68/standards_of_conduct_booklet_5-11-15.pdf Academic dishonesty includes but is not limited to cheating, plagiarism and collusion. Cheating may involve copying from or providing information to another student, possessing unauthorized materials during a test, or falsifying data (for example program outputs) in laboratory reports. Plagiarism occurs when someone represents the work or ideas of another person as his/her own. Collusion involves collaborating with another person to commit an academically dishonest act. Professors are required to - and will - report academic dishonesty and any other violation of the Standards of Conduct to the Dean of Students.