IT3105 Web Page - Spring 2020
This course teaches Artificial Intelligence programming via
several medium-sized AI projects involving concepts and methods such as best-first search,
minimax with alpha-beta pruning, constraint reasoning, propositional logic,
first-order predicate logic, decision-tree learning, evolutionary algorithms,
neural networks, Bayesian classifiers, reinforcement learning, boosting, bagging and particle
swarm optimization...to name just a few. The exact topics will vary from year to year.
There will be no tight connection to a single
programming language, and there will not be a lot of lecture time
devoted to language learning. We will dive right in to sizeable
projects, some of which may have a recommended language
but normally no strict requirement. Students are normally free to use
the language(s) of their choice. However, it is recommended that they choose
a language that supports the formation and manipulation of large sequences
(often nested) of symbols (i.e. mixtures of letters and numbers) such as
"Age(Fred) + 18 = 35 AND Height(Wilma) > 175". Most students choose PYTHON or JAVA.
When instructors provide supporting code, it will normally be in a standard
language such as Python, JAVA, C++ or MATLAB. No machines maintained by the department
will house any of the software needed for this course. Students are expected to download
all relevant software (all of which is free and easily accessible) to their own machines.
The three main topics in this (Spring 2020) version of the course will be, Monte
Carlo Tree Search, Reinforcement Learning, and Neural Networks. One or more of
these topics will be central in each of the three projects. The first and third
projects will have formal demonstration ("demo") sessions
with fixed dates,
while the second project will have a "delivery window" of several weeks, during which it
must be demonstrated to a student assistant during the course lab hours.
This course is definitely NOT one that a student can expect to join late in the
semester or ease into. Work on the first project should begin
immediately after the first lecture. Each project and module involves considerable
programming effort, so you will need to hit the ground running
at the beginning of each one. Waiting until the last minute (weekend) has
been the demise of many students in this course.
The instructor of this course may use two different media to inform students:
1) This web page and 2) BLACKBOARD. In general, this web page is used as a repository for
course materials and relatively static schedule information, while BLACKBOARD is used as
a repository for student deliveries, a sign-up sheet for demo sessions, a medium
for dissemination of certain interim grades (such as those for
individual projects), and as a bulletin board for important messages (such as
lecture cancellations, changes to demo sessions, etc.).
Grading, Delivery and Attendance Policies
It is VERY important that you read both of these items:
- Lecturer and Coordinator: Keith Downing (keithd<at>ntnu.no)
- PhD Assistant: Håkon Måløy (hakon.maloy<at>ntnu.no)
- Primary Assistants:
- Brynjar Glimsdal (brynjag<at>stud.ntnu.no)
- Øyvor Haldorsen (oyvorsh<at>stud.ntnu.no)
- Secondary Assistants
- Emil Ifwarsson (ejifwars<at>stud.ntnu.no)
- Jonathon Jørgensen (jonathaj<at>stud.ntnu.no)
- Ludvig Pedersen (ludvigp<at>stud.ntnu.no)
- Student Reference Group
- Christer Rustand (chrirus<at>stud.ntnu.no)
- Ingvild Netland (netland.ingvild<at>gmail.com)
- Anja Rosvold From (anjarfrom<at>gmail.com)
To contact any of the people listed above, use their
email addresses, not BLACKBOARD (unless otherwise specified by any of these individuals) .
- Location: Room KJL2, Kjelhuset
- Time: Mondays 8:15 - 10:00 (First lecture: January 13; Final lecture: April 27)
Lab (Help) Hours (all in different rooms)
- Mondays (15:15 - 17:00) in 414 Gorg (P15 Bygget)
- Tuesdays (10:15 - 12:00) in K5 (Kjemiblokk 5)
- Thursdays (8:15 - 10:00) in EL2 (Gamle Elektro)
The course lab hours are not used in the traditional sense (of all students meeting
in a room and doing "lab exercises"). The lab hours are simply the times at which our
student assistant(s) are available to help students. In addition, in the rare instance
that an instructor feels the need for extra lectures, (s)he may choose to use the
course lab hours.
** Follow Blackboard for room-change announcements.
NTNU's official web page for this class is here
Read previous messages here.