CIS 440—Summer 2014 Texas A&M University Central Texas CIS 440-115 Algorithm Design and Analysis TR 6:00 pm – 9:00 pm Instructor: Office: Phone: Email: Office Hours: Dr. Timothy G. Woodcock 323G - Founders Hall 254-519-5783 WoodcockTG@ct.tamus.edu MTWH – Noon to 2:00 PM or by appointment Course Overview and description: Introduces the modern study of computer algorithms with emphasis on how to select the best algorithm for a task considering the specific computing environment. Students extensively study searching and sorting algorithms for their importance in computing. Other topics include: efficiency, readability, maintainability, advanced design and analysis techniques, advanced data structures, and graph algorithms. Course Objective: Review "Big-O" notation as a means of expressing relative efficiency of an algorithm: Review sorting algorithms with emphasis on sophisticated sorts using "divide and conquer" approaches and variations of the quick sort. Examine the "divide and conquer" approach to other programming problems. Study recursion as it applies to binary search and quick sort. Study graphs as mathematical representations of networks. Review graph manipulation algorithms including spanning tree and shortest path traversal algorithms. Implement a program to find the shortest path in a graph. Understand the difference between an abstract structure/algorithm and a concrete implementation. Study examples of algorithms described in natural language, structured natural language, and pseudocode. Introduce the use of heuristic methods as "good enough" methods to attack otherwise unsolvable problems. Apply heuristics in a program to solve the traveling salesman problem. Understand the "space versus time versus complexity" trade-off in designing programs. Evaluate selected data structures and algorithms for strengths and weaknesses in terms of space, time, and complexity. Apply the "NP-Completeness" theorem to the identification of intractable problems. Demonstrate the ability to incorporate an algorithm into a program. Required Reading and Textbook(s): “Analysis of Algorithms 2th Ed”, McConnell, Jones and Bartlett Note - A student of this institution is not under any obligation to purchase a textbook from a university-affiliated bookstore. CIS 440—Summer 2014 Course Requirements: There will be one term paper worth 300 points. The paper must be a review of on the work of one of the authors referenced in Appendix D of the class text. This paper should NOT be a biography of the author, but a review of the work, discoveries, and papers of the author. The instructor must approve the author selected before the second week of class. The paper style must be the IEEE single column style. A minimum of three reference are required and all must be from peer reviewed journal articles or conference papers. (An automatic 20 points will be deducted for using Wikipedia or the class text as a reference.) This paper should be at least 10 pages long. Grading Rubric Met the criteria Paper topic approved before second week of class On time 15 points Strict IEEE style (see IEEE Format Guide) Single column format. 85 points At least 3 references from peer reviewed journals 30 points Spelling and grammar 85 points Paper is about the author’s work, NOT a biography of the author 85 points 15 points In IEEE single column style with correct citations Partially met the Did not meet criteria criteria Late – Topic not approved by the second week of class Incomplete or incorrect 60 to 5 points 0 points Not in IEEE style 0 points Less than three peer reviewed references 25 to 5 points No references or use of Wikipedia or class text 0 points Using passive voice or minor grammar issues 80 to 5 points Ideas not well expressed or paper poorly organized. 65 to 25 points More than 10 grammar or spelling issues 0 points Very unclear 0 points 85 points Three references from peer reviewed journals 30 points No issues 85 points Clear and well organized Describes the author’s work 85 points There will be five assignments each worth 100 points. All assignments except Project 4 must be turned in as either a Word document or a zip file. Each Word or zip file must be named with CIS 440—Summer 2014 your last name followed by the assignment number (i.e. Woodcock Project 1.docx). Reports will be graded on spelling and grammar as well as on demonstrating that the calculations, programs and measurements were correctly implemented. Project 4 must be turned in as a zipped project folder that is named with your last name. Project 1 – Programming Exercise 2 on page 128. Run your instrumented program reporting the minimum, maximum, and average values of compareCount and swapCount for 1,000 random numbers, 100,000 random numbers, and 10,000,000 random numbers. (Run this several times.) Submit a report showing the results (include tables of results) and your observations. What does the theory say about these sorts? What did you measure? Project 2 - Do Exercise 1 on page 187. Submit a report showing the transition functions for each pushdown automaton. Project 3 – Programming Exercise 1 on page 264. Submit a report showing the results. Project 4 – Write a program to implement a simple Language Acceptor Turing Machine. Submit the zip project folder, named with your last name. Make the Turing Machine programmable so you can accept different languages. Program the Turing Machine to accept the language {anbncn: n>=1} Program the Turing Machine to accept the language {anbcn: n>0} Extra Credit: Program the Turing Machine to accept the language {𝒘𝒘 ∶ 𝒘 ∈ {𝒂, 𝒃}+ } Project 5 – Programming Exercise 9 on page 398. Run the exercise 50 times and submit a report showing all the data from each run and your analysis of the results. Unless you make prior arrangements, all late assignments will lose 30% of the available points before being graded. Grading Criteria Rubric Total Points Grade Points A 900-1000 Projects 500 B 800-899 Term Paper 300 C 700-799 Midterm Exam 100 D 600-699 Final Exam 100 F Below 600 Assignment CIS 440—Summer 2014 Complete Course Calendar Date Topic 6/3/2014 Chapter 1 & 2 6/5/2014 Chapter 3 6/10/2014 Chapter 4 6/12/2014 6/17/2014 6/19/2014 6/24/2014 6/26/2014 7/1/2014 Chapter 5 Chapter 6 Chapter 6 Chapter 7 Midterm Exam Chapter 8 7/3/2014 Chapter 10 7/8/2014 7/10/2014 7/15/2014 7/17/2014 7/22/2014 7/24/2014 Chapter 10 Chapter 10 Chapter 11 Chapter 11 Special Topics Final Exam Assignment Term Paper Topic Due Project 1 Due Project 2 Due Term paper Due Project 3 Due Project 4 Due Project 5 Due CIS 440—Summer 2014 Drop Policy If you discover that you need to drop this class, you must go to the Records Office and ask for the necessary paperwork. Professors cannot drop students; this is always the responsibility of the student. The record’s office will provide a deadline for which the form must be returned, completed and signed. Once you return the signed form to the records office and wait 24 hours, you must go into Duck Trax and confirm that you are no longer enrolled. Should you still be enrolled, FOLLOW-UP with the records office immediately? You are to attend class until the procedure is complete to avoid penalty for absence. Should you miss the deadline or fail to follow the procedure, you will receive an F in the course. Academic Integrity Statement Texas A&M University - Central Texas expects all students to maintain high standards of honor in personal and scholarly conduct. Any deviation from this expectation may result in a minimum of a failing grade for the assignment and potentially a failing grade for the course. All academic dishonesty concerns will be reported to the university's Office of Student Conduct. Academic dishonesty includes, but is not limited to, cheating on an examination or other academic work, plagiarism and improper citation of sources, using another student's work, collusion, and the abuse of resource materials. When in doubt on collaboration, citation, or any issue, please contact me before taking a course of action. More information can be found at http://www.tamuct.edu/departments/studentconduct/academicintegrity.php Disability Support and Access If you have or believe you have a disability and wish to self-identify, you can do so by providing documentation to the Disability Support Coordinator. Students are encouraged to seek information about accommodations to help assure success in their courses. Please call (254) 501-5831 or visit Founder's Hall 114, Suite 114. Additional information can be found at http://www.tamuct.edu/departments/disabilitysupport/index.php Tutoring Tutoring is available to all TAMUCT students, both on-campus and online. Subjects tutored include Accounting, Finance, Statistics, Mathematics, and Writing. Tutors are available at the Tutoring Center in Warrior Hall, Room 111. Visit www.ct.tamus.edu/AcademicSupport and click "Tutoring Support" for tutor schedules and contact info. If you have questions, need to schedule a tutoring session, or if you're interested in becoming a tutor, contact Academic Support Programs at 254501-5830 or by emailing tutoring@ct.tamus.edu. Chat live with a tutor 24/7 for almost any subject on your computer! Tutor.com is an online tutoring platform that enables TAMU-CT students to log-in and receive FREE online tutoring and writing support. This tool provides tutoring in Mathematics, Writing, Career Writing, Chemistry, Physics, Biology, Spanish, Calculus, and Statistics. To access Tutor.com, log into your Blackboard account and click "Online Tutoring." CIS 440—Summer 2014 Library Services INFORMATION LITERACY focuses on research skills which prepare individuals to live and work in an information-centered society. Librarians will work with students in the development of critical reasoning, ethical use of information, and the appropriate use of secondary research techniques. Help may include, yet is not limited to: exploration of information resources such as library collections and services, identification of subject databases and scholarly journals, and execution of effective search strategies. Library Resources are outlined and accessed at. http://www.tamuct.edu/library UNILERT Emergency Warning System for Texas A&M University – Central Texas UNILERT is an emergency notification service that gives Texas A&M University-Central Texas the ability to communicate health and safety emergency information quickly via email, text message, and social media. All students are automatically enrolled in UNILERT through their myCT email account. Connect at www.TAMUCT.edu/UNILERT to change where you receive your alerts or to opt out. By staying enrolled in UNILERT, university officials can quickly pass on safety-related information, regardless of your location. INSTRUCTOR POLICIES Students should come to class prepared, ready to ask questions and participate in discussions. While in other classes, the direct quoting of other authors is considered acceptable; in this class, it is not acceptable. You may not directly quote any other published paper, web site, or textbook in any writing assignment, including papers, homework, discussion boards, PowerPoint presentations, or any other written assignments. The simple reason for this is that copying (quoting) is a lower level skill. However, reading, understanding, and then communicating the ideas in your own words is a high level skill, which is the skill that I want you to develop. Do not submit any code that is not yours. Do not copy code from websites, other students, tutors, friends, family, or from any other source that is not your brain. If you get help with any code, you must make it clear which portions of the code you had help with and which you wrote. You must supply the contact information for the person, web site, youtube video, or other person who helped you. This is very important because you will only learn to write code by writing code. Yes, some concepts are difficult, but if you do not write the code and solve the problems, you will not learn how to write code and solve problems. Having someone explain a solution or algorithm to you or help you debug a problem is acceptable and allowed. Having someone else write the code for you is not OK. Unless you make prior arrangements, all late assignments will lose 30% of the available points before being graded. Dr. Woodcock reserves the right to modify this syllabus during the semester. CIS 440—Summer 2014 Instructor Information Dr. Woodcock has a PhD in Computer Science from Florida Atlantic University. He has over 25 years of real world experience working for IBM and Sony-Ericsson. Dr. Woodcock believes that you will learn best by being engaged in class, asking questions, participating in discussion, and doing the hands on exercises. This class will be a lot of work, but it will also be fun.