CISK 440 115/515 Algorithm Design and Analysis

advertisement
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.
Download