It's UWAweek 47
|
unitinfo
This page provides helpful information about many coursework units offered by
Computer Science and Software Engineering
in 2023.
The information here is not official -
for official information please see the
current UWA Handbook.
Instead, it will help students to prepare for their future units,
before the beginning of each semester,
and before they have access to
UWA's
Learning Management System (LMS).
|
About the unit CITS3001 Algorithms, Agents and Artificial Intelligence (2nd semester 2023)
Unit description:
This unit reinforces key concepts from
CITS2200 Data Structures and Algorithms, and extends them to consider algorithms in the context of autonomous programs, or agents. We introduce ideas such as decision making, goal-directed behaviour, heuristic search, action selection, performance (self-evaluation), expected return and learning. These concepts are explored in the context of artificial intelligence or 'intelligent agents'.
Unit outcomes:
Students are able to (1) explain various ways in which algorithms can learn, their relationships, and their potential power and pitfalls; (2) assess the performance of algorithms and appreciate the extra requirements of algorithms operating in an autonomous context; (3) develop and implement a software agent in a suitable software engineering framework; and (4) research a relevant area of interest and effectively communicate the results through scientific writing and experimental analysis.
Unit coordinator:
Unit homepage:
|
|
Unit is offered in these majors and courses:
Indicative weekly topics:
week 1 |
Complexity, Sorting, and Searching |
week 2 |
Graphs |
week 3 |
Paths |
week 4 |
Dynamic Programming |
week 5 |
Greedy Algorithms |
week 6 |
Flows and Cuts |
week 7 |
String Algorithms |
week 8 |
Computational Geometry |
week 9 |
NP Hardness and Reductions |
week 10 |
|
week 11 |
|
week 12 |
|
Indicative assessment:
Laboratories, Project, Midsemester Test and Final Exam
Useful prior experience and background knowledge:
Strong Java and/or Python knowledge, and Data Structures and Algorithms. Familiarity with propositional/predicate logic is preferable
Useful prior programming and software experience:
Python and/or Java
Operating system(s) used in this unit:
Different units will use different operating systems for their teaching - for in-class examples, laboratory exercises, and programming projects.
If an operating system is REQUIRED, it will be used when marking assessments.
ANY reasonable platform
This information last updated 6:39pm Thu 20th Apr 2023