The course will have a substantial independent project and will
require strong class participation.
- Gain an understanding (both from
a theoretical perspective and through implementation) of the foundations of
meta-heuristic search. Types of algorithms that will be discussed
include hill-climbing, simulated annealing,
genetic algorithms, genetic programming, ant-colony optimization
and tabu search.
- Learn about other useful AI techniques such as planning,
classification and natural language processing.
- Understand how to model software engineering problems in such
a way that these techniques can be applied.
- Learn how to read,understand and critique scientific research
articles.
- Complete a course long project on a research topic that uses
AI to solve a software engineering problem.
The course will have a substantial independent project and will
require strong class participation. Many of the lectures will not be structured. You are expected
to read the material assigned and participate in discussions.
This course is a project based course. The first part of the course will consist of
structured lectures. The second part of the course will involve reading current literature
on related topics. Students will be responsible for leading
presentations. This includes creating supplementary overheads to lead the discussion.
Each student will select a project
during the course of the semester. They will be expected to become familiar with a particular body
of research beyond the classroom lectures. Students will submit a written report, and give an
oral presentation of their findings. A list of suggested projects for this
course will be available after the first 4 weeks of classes.
To succeed in this course you should have taken a data
structures/algorithms course and have prior
knowledge of software engineering .
Course Textbook:
There is no official text for this course. Research papers from
conferences and journals, and other material will be handed out or posted on line for you to read.
Topics to be Covered:
(This syllabus will be updated and expanded as the semester
progresses. The detailed schedule of lectures and
handouts will be found in BlackBoard.
Meta-heuristic Search
- Introduction and Overview of Heuristic and Meta-Heuristic Search
- General optimization problems
- Fitness functions
- Local search vs. Meta-heuristic search
- Visualization of the Search Landscape
- Hyper-heuristics
- Specific Search Algorithms (not all may be covered):
- Hill Climbing
- Simulated Annealing
- Tabu Search
- Genetic Algorithms
- Genetic Programming
- Ant Colony Optimization
Other AI Techniques (not all may be covered):
- AI Planning
- Classification Trees
- Natural Language Processing
Applications in Software Engineering
As part of this course we will read research papers that use search to solve
software engineering problems. The topics will be specific to the papers read. Some topics that
may be included are (exact topics may vary):
- Software Test Generation
- Regression Testing
- Test Suite Repair
- Automated Software Repair
- Reverse Engineering
- Fault Characterization
- Software Security
- Performance Tuning
- Software Refactoring
- Specification Mining
- Generating Program Comments
The grading for the class will be as follows:
- Homeworks: problems, programs: 15%
- Paper reviews 10%
- In Class participation: 10%
- Mid semester exam: 15% Tentative Due Date: Monday, October 6th
- Project Proposal: 10% Tentative Due Date: Friday,
October 17th
- Paper presentation: 5%
- Final project presentation results and paper: Due Friday,
December 11th (during the 15th week: aka dead week*) 35%
There will be one exam given in this course. Evaluation will be based primarily on your class
participation, assignments, paper reviews, your paper presentation,
and your written and oral project presentations.
There will be a considerable amount of reading of research papers
in the course. Students are expected to attend and participate during
class. Missed classes and/or a lack of participation will lower the class participation score.
Academic Dishonesty
|
|
All homework assignments, quizzes, exams, etc. must be your own work. No direct
collaboration with fellow students, past or current, is allowed unless
otherwise stated. The Computer Science & Engineering department has an Academic
Integrity Policy. All students enrolled in any computer science course are
bound by this policy. You are expected to read, understand, and follow this
policy. Violations will be dealt with on a case by case basis and may result in
a failing assignment or a failing grade for the course itself.
Departmental Academic
Integrity Policy for more
details.
|
Special Needs |
|
Students with disabilities are encouraged to contact [the instructor
or teaching assistant] for a confidential discussion of their
individual needs for academic accommodation. It is the policy of the
University of Nebraska-Lincoln to provide flexible and individualized
accommodations to students with documented disabilities that may
affect their ability to fully participate in course activities or to
meet course requirements. To receive accommodation services, students
must be registered with the Services for Students with Disabilities
(SSD) office, 132 Canfield Administration, 472-3787 voice or TTY.
|
Departmental Resources and Feedback |
|
The Student Resource Center is
located in Avery 13A. |
|
The CSE Department has an anonymous suggestion box that you may use to voice
your concerns about any problems in the course or department if you do not wish
to be identified.
|
Course Expectations:
- There will be three fifty minute lectures per week. Students are
expected to come to class and participate. Missing multiple classes will result
in a low score on class participation. In
addition students should expect to spend approximately 6 additional
hours per week on reading, study and projects.
Course Policies:
- All Assignments will have clearly marked due dates and penalties.
- No make-up exams will be given unless arranged with the instructor in
advance or a written medical excuse is provided.
- You will have one week from the time the grades are available
to challenge a grade on an assignment, or exam. After that,
challenges are not accepted.
Grade Assignments
Both graduates and undergraduates will complete the same work during
this course, however the marking and scaling of any grades will be
done separately for each group. In addition, the project component for
undergraduates will have a less stringent research component.
Grades are made based on the
following scale:
A: 93-100 |
A-: 90-92 |
|
B+: 87-89 |
B: 83-86 |
B-: 80-82 |
C+: 77-79 | C: 73-76 | C-: 70-72 |
D+: 67-69 | D: 63-66 | D-: 60-62 |
F: 0-59 |
*See UNL 15th week
policies for more information
Some Important University Dates for 2014 (please check
UNL
Calendar for the complete and official listing):
- August 25th, Late registration fee begins
- September 2nd, Last day for adds/drops (100% refund)
- September 5th, Last day to drop course from record without
receiving a "w"
- September 1st, Labor Day: University Holiday
- October 20-21, Fall Break
- November 14th, Last day to withdraw
- November 27-30, Thanksgiving Holiday
- December 13th, Last day of classes
Course Calendar: Updated as Semester Progresses