IT3105 Instructor's Web Page - Spring 2026
This course teaches Artificial Intelligence programming via
several medium- or large-scale 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, monte carlo tree search,
counterfactual regret minimization, 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. Most students choose PYTHON or JAVA. Most projects do, however, require
object-oriented programming.
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.
Four main topics in this (Spring 2026) version of the course will be, Gradient descent, Monte
Carlo Tree Search, Reinforcement Learning, and Neural Networks. Several of these will be involved in both of the projects. The two projects will be delivered in different ways: the
first via a live demonstration session + report, and the second via an educational video produced by each group and uploaded to Blackboard.
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. Students who wait until the last minute to
begin any project are either exceptionally smart or somewhere on the other end of the intelligence spectrum.
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:
Check Blackboard for more details such as the online channel used by each student assistant, any temporary changes to their
availability, etc.
People
Help Sessions
- Thursdays: 12:15 - 14:00, R2, Realfagsbygget (Main class meeting = BIG help session)
- Tuesdays: 13:00 - 15:00 (Online)
** Online sessions are accessed via Blackboard Collaborate. Click "Collaborate"
on Blackboard's sidebar menu.
Important Links
Latest News
Read previous messages here.