ITSD 4301        Algorithms I

Fall 2007 (CRN 86109)

Jeff Chastine
e-mail: jeffchastine@clayton.edu
Phone: 678-466-4409
Office: U 305
Office hours: T R 1:30PM-5:00PM 
Other times by appt only.

Note: this syllabus is subject to change during the semester

Course Description (2-2-3)

An advanced course in the specification and development of complex data structures. Programming projects address the cross-platform nature required of today's business solutions, with emphasis on the graphical user interface and development of custom controls.  Object-oriented design and programming will be stressed.  Project teams will manage a software development project using a variety of tools and techniques.

Course Outcomes

Students will obtain a proficient level of mastery in algorithmic thinking and analysis (1-5).  Students are expected to use reasoning, critical and algorithmic thinking skills in the analysis and design of algorithms (7).  Students will integrate and apply programming skills, and perform both independently and as a team member.

Course Objectives

Students will obtain a proficient level of mastery through lecture and programming in the following topics:

  1. Algorithms
  2. Growth of functions
  3. Recursion
  4. Recurrence equations
  5. Sorting in O(n2), O(n lg n), & O(n)
  6. Dynamic Data Structures (linked lists, stacks and queues)
  7. Algorithmic Analysis of Data Structures
  8. Medians and Order Statistics
  9. Real-time graphics algorithms
  10. Hashing
  11. Greedy and Dynamic Programming
  12. Amortized Analysis
  13. Parallel Algorithms

 

ITP Choice

All students at CSU are required to state that they have on-demand access to a notebook computer that meets the recommended hardware/software specifications that have been established by Clayton State faculty.  Academic penalties may be incurred for not meeting this requirement.  Refer to the ITP Choice website for specifications and FAQs: http://itpchoice.clayton.edu/

Prerequisites

The student should be fluent in one or more languages (such as C++, C#,  Java, or Visual Basic).  Students should also have strong mathematical background (mostly covered in MATH 3902).  The following classes must have been passed with a 'C' or better:

ITFN 3134 (Advanced Systems, Security, and Process Development)
ITFN 3314 (Testing and Quality Assurance)
ENGL 3901 (English)
MATH 3902 (Probability, Statistics and Combinatorics)
ITFN 2012 (Internship)

Meeting Times

CRN 86109  T R 6:00pm-7:15pm   U314

Required Textbooks

 

    Introduction to Algorithms by Cormen, Leiserson, Rivest  ISBN: 0-262-03293-7

 

 

 

Assessment

You will have numerous opportunities to practice and demonstrate mastery of the materials covered in these courses.  It is up to you to keep current on all readings and assignments (including in-class announcements).

Note the following things:

 

If you fall behind, you will most assuredly fail this course!

Grading will be based upon the following scale:

   A         >= 90%
  
B         80% - 90%
  
C         70% - 80%
   D         60% - 70%
  
F          < 60%

Assignment             Portion of Grade

Test 1                        15%
Midterm                     15%
Final                           20%

Projects                     50%

Programs that don’t compile/run at all or halt/crash will receive no credit. You can assure that you get a grade by commenting out sections that do not work. The programming assignments will be graded on a progressive scale, so it’s almost always possible to get most credit if you follow good programming practices, building your solution piecewise and testing each piece.  If you have a program that doesn’t compile, comment out those sections that don’t compile and turn it in.

Most assignments are comprised of a program as well as an assigned homework, and are usually weighted 50/50 of the overall assignment grade.  Assignments can be written in the language of your choice, and will be submitted electronically. In addition, assignments (the program portions) will be demonstrated in class.

Please be advised that no credit will be given for late assignments.  If you have a problem that arises during the course of the semester, please contact me as soon as possible.  It's good advice to turn your assignments in a day early from school.  Not being able to connect from home is not an excuse.  Most of the time, you will be demo-ing your projects live, so please have them ready at the beginning of the course.

All work is expected to be the sole work of the student, unless otherwise stated.  Answers derived from external sources (including the Internet) will fall under the academic misconduct policy of the University.

Withdrawal

Students who stop attending class without doing the necessary withdrawal paperwork will receive an automatic grade of ‘F’.  Students who withdraw after midterm will receive an automatic grade of ‘WF’.  Withdrawal policy and procedures are published in the Academic Catalog and in the Schedule of Classes each semester.

Words of Wisdom (TAKE THIS PART SERIOUSLY!)

There is a significant amount of difficult reading required for this course.  My recommendation is to read the book in an attempt to understand the general notion of the chapter, listen to lecture (asking questions), and then re-read the chapter.  Chapters grow polynomially O(nk) where k is the chapter and n is some constant greater than 1.

You should familiarize yourself with the following:

Class attendance is not required.  I don't take roll because this isn't kindergarten.  However, this class throws a lot of responsibility at you (programs, lectures, tests…) and you need to keep track of when they are assigned, and when they are due.

Start assignments early.  This way, you can ask questions and clarify things that are confusing.  Better to ask and learn than to get a low grade! Also, make sure you turn in SOMETHING - even if you think it's incorrect. It's better to get a low grade than no grade.

Your grade in this course is determined completely on performance, not on effort.  

 

Religious Observance

Religiously observant students wishing to be absent on holidays that require missing class and/or exam should notify the instructor at least two weeks in advance and discuss acceptable ways of making up any work missed because of the absence.

 

Disability Statement

Students with disabilities who require reasonable accommodations need to register with Disability Services (DS) in order to obtain their accommodations. You can contact them at 678-466-5445 or disabilityservices@clayton.edu. If you are already registered with DS and are seeking accommodations for this course, please make an appointment with me to discuss your specific accommodation needs for this course and give me your accommodations letter.

Course Coordinator

Dr. Jeff Chastine, Associate Professor of I.T.
Email: JeffChastine@clayton.edu

 

Additional Common Syllabus Information