COSC 4350 Artificial Intelligence

Document Sample
COSC 4350  Artificial Intelligence Powered By Docstoc
					                     COSC 2336 – Programming Fundamentals III
                              T TH 8:00am – 9:15am
                     T 9:25am – 10:40am (supplementary session)
                                   Spring 2011

Course prerequisites
1) COSC 1437 and COSC 2310 with at least a grade of “C”.
2) MATH 3381 with at least a grade of “C”.

Course materials
Tony Gaddis, Judy Walters, and Godfrey Muganda, “Starting Out with C++ -- Early Objects”, 6th
Ed., Addison Wesley, 2007.

Instructor contact information
Office: SETB 1.514        Office hours*: T Th 12:00p to 2:30p
Phone: 956-882-6771 Email:
Class web site:
* Or by appointment 

Course description
This programming intensive course deepens the concepts of file input/output, recursion,
backtracking, analysis of algorithms, and data structures including queues, stacks, linked lists,
trees, hash tables, trees and graphs. Software engineering techniques for modularity, reusability,
documentation, testing, error detection and recovery are covered.

Course objectives
Students will be acquainted with the followed topics:
1) Basics of C++ programming (e.g. control structures, operators, and so on)
2) Declaring structures, structure constructors, and structure variables
3) Class: constructors, destructors, friend classes, friend functions, design, and analysis
4) Copy constructors, Convert constructors
5) Operator overloading
6) Inheritance, over-riding base class functions
7) Recursion
8) Polymorphism, inheritance hierarchy, abstract base class, virtual functions
9) Multiple inheritance, virtual inheritance
10) Linked lists, Stacks, Queues, Binary Trees, Recursive operations on ADT’s

Learning outcomes
Students should be able to:
1) Write C++ programs that implement an object oriented design
2) Write C++ programs that implement and use abstract data types such as linked lists in an
object oriented fashion

Intellectual Competencies
The following intellectual competencies will be emphasized in this course:
1) Reading: Competency in reading is the ability to analyze and interpret a variety of printed
materials. Students will have the opportunity to develop this competency primarily from reading
the textbook.
2) Skills in Problem Solving: Competency in problem solving is the ability to understand the
problem specification and the ability to systematically define a solution to the problem using
relevant knowledge acquired. Students will have the opportunity to develop this competency by
completing the homework assignments, participating in programming lab sessions, and asking
questions in class.

Grading policy
Homework assignments (7 x 6%)                                                     42%
Weekly exercises (13 x 2%)                                                        26%
Mid-term exam                                                                     10%
Term project                                                                      15%
Final Exam                                                                        7%
Overall grade assignment: A >= 90% > B >= 80% > C >= 70% > D >= 60% > F

Homework and Project Assignments
There will be seven homework assignments; some or all of them may be programming exercises.
There will be a 25% penalty each day on late assignments. Assignments turned in at the end of
the class will get a 10% penalty. Make up exams are given only on grounds pertaining to health
problems (in which case the doctor’s letter is required) or emergent situations (in which case a
detailed written explanation is required). It is important to start early and ask me questions
whenever you feel like you are getting stuck on anything. 

Undergraduate Satisfactory Academic progress
Applies to new and returning UTB/TSC students registered for classes in the 2007-2008
academic-year. UTB/TSC monitors academic progress every fall and spring semester to identify
those students who are experiencing difficulty with their courses. Satisfactory Academic
Progress (SAP) is based upon two components: GPA of 2.0 or higher and successful course
completion of at least 70% of course work attempted. Students remain in good standing with the
university and Financial Aid when both criteria are met. Students who do not maintain these
required minimum standards will be placed on probation or suspension as appropriate. The
complete Satisfactory Academic Progress policy and the Undergraduate Satisfactory Academic
Progress for Financial Aid policy can be found in the current Undergraduate Catalog.

Class Attendance
Attendance is required and it is part of the grading of the class. It will be recorded for each
lecture for each student. Non-attendance can be acceptable only on grounds pertaining to health
reasons in which case a doctor’s letter is needed and/or emergency (e.g. family emergency).

Fair Use of Computers
The Lecture lab is equipped with computers to enhance your learning experience by mixing the
lecture with hands-on lab sessions whenever needed. After one warning, any person caught using
the computers for any purpose other than the class, e.g. checking emails, surfing the web, doing
other classes’ work, will be punished by a penalty decided on by the instructor.

Cell Phones, Beepers and other Electronic Gadgets
Students must get into the habit of turning off beepers and cell phones once a class has begun and
should not take or return calls during class time.
Academic Dishonesty
Although students are encouraged strongly to work together to learn the course material, all
students are expected to complete homework, labs, quizzes and exams individually, unless
permitted otherwise. Cheating, in all its forms, is not tolerated under any circumstances. Students
collaborating on assignments without permission will receive a score of zero on the relevant
assignment. Cheating during exams or quizzes will result in an “F” in the final course grade.

Disability Services
Students with disabilities, including learning disabilities, who wish to request academic
adjustments in this class, should notify the disability services office early in the semester so that
the appropriate accommodations may be made. In accordance with federal law, a student
requesting academic adjustments must provide documentation of his/her disability to the
disability services counselor. For more information, call or visit the counseling center at Tandy-
205 (956 882 8292).

Emergency Academic Continuity Program
In compliance with the Emergency UTB/TSC Academic Continuity Program, academic courses,
partially or entirely, will be made available on the MyUTBTSC Blackboard course management
system. This allows faculty members and students to continue their teaching and learning via
MYUTBTSC Blackboard, in case the university shuts down as a
result of a hurricane or any other natural disaster.
The university will use Blackboard to post announcements notifying faculty members and
students of their responsibilities as a hurricane approaches our region. If the university is forced
to shut down, faculty will notify their students using Blackboard on how to proceed with their
course(s). To receive credit for a course, it is the student’s responsibility to complete all the
requirements for that course. Failure to access course materials once reasonably possible can
result in a reduction of your overall grade in the class.
To facilitate the completion of classes, most or all of the communication between students and the
institution, the instructor, and fellow classmates will take place using the features in your
MyUTBTSC Blackboard and UTB email system. Therefore, all students must use Scorpion
Online to provide a current email address. Students may update their email address by following
the link titled “Validate your e-Mail Account” in MyUTBTSC Blackboard Portal. In the event of
a disaster that disrupts normal operations, all students and faculty must make every effort to
access an internet-enabled computer as often as possible to continue the learning process.
Blackboard: You will be able to access your syllabus, handouts, and recorded grades on
Blackboard at

This is a tentative syllabus and may be changed by the instructor with an advanced notice to the
students. Any change will be kept to a minimum. 4/4 semester/year
Course schedule

Month      Date         Activities

Jan        18           Introduction to the class, getting ready for the semester
           20           Revision: Basics of C++ programs (Chapter 2)
                        Hw #1 given
           25           Revision: Identifiers and Data Types (Chapter 2)
           27           Revision: Assignments, Initialization, and Operators (Chapter 2)

Feb        1            Structures (Chapter 7)
                        Hw #1 due, Hw #2 given
                        Term project specification given
           3            Abstract Data Types, Classes, and Objects (Chapter 7)
           8            Constructors and Destructors (Chapter 7)
           10           Private Member Functions and Object Oriented Analysis (Chapter 7)
           15           More on Classes (Chapter 11)
                        Hw #2 due, Hw #3 given
                        Term project teams finalized
           17           More on Constructors (Chapter 11)
           22           Inheritance and Related Concepts (Chapter 11)
           24           Introduction to Recursion (Chapter 14)
                        Hw #3 due, Hw #4 given

Mar        1            Solving Problems with Recursively Defined Functions (Chapter 14)
           3            Recursive Binary Search and QuickSort Algorithms (Chapter 11)
                        Term project proposals due
           8            Review for mid-term exam
           10           Mid-term exam
           15           Spring Break 
           17           Spring Break 
           22           Recursion: Problem Solving and Software Engineering (Chapter 11)
           24           Polymorphism and Inheritance Hierarchy (Chapter 15)
                        Hw #4 due, Hw #5 given
           29           Abstract Base Classes, Virtual Functions and Inheritance (Chapter 15)
           31           Polymorphism: Case Study and OOP lessons (Chapter 15)

Apr        5            Linked List ADT (Chapter 17)
                        Hw #5 due, Hw #6 given
           7            Recursive Linked List Operations and Linked List Variants (Chapter 17)
           12           Linked List: Cast Study (Chapter 17)
           14           Stack ADT (Chapter 18)
                        Hw #6 due, Hw #7 given
           19           Queue ADT (Chapter 18)
           21           Dynamic Queue and Eliminating Recursion (Chapter 18)
           26           Binary Tree I (Chapter 19)
                        Hw #7 due
           28           Binary Tree II (Chapter 19)

May        3            Group presentation for term project
           5            Review for final exam
           9            Last Class Day
           10 (or 12)   Final Exam

Lingjuan Ma Lingjuan Ma