FAQ
How to Get Help?
- Forums on Brightspace: The preferred method for asking questions. Teaching assistants, other students, and the professor can promptly respond, benefiting the entire class.
- Teaching Assistants: Available during office hours or via email. Office hours are posted on my personal website and Brightspace. Email addresses are listed only on Brightspace to avoid web crawlers.
- Professor: Office hours are posted on the course website and Brightspace. Due to a high workload and the large class size (320 students across two sections), direct responses from the professor may be limited.
- Timely Questions: Avoid waiting until the last minute to ask questions, especially close to assignment deadlines, as this creates undue pressure on the teaching team.
How do I access assignments and join an assignment group?
Assignments are available on Brightspace and must be submitted via this platform.
Assignments 2 and 3 may be completed individually or in pairs. Regardless of your choice, you must first join a group. Once registered as a group, you will gain access to the assignment details in the designated Brightspace area.
To form a group, navigate to the “Groups” section in the navigation bar and select “Available Groups.” Here, you will find options to join groups for Assignments 2 and 3.
Supplementary Information.
We use Brightspace primarily for assignments and discussion groups. On the desktop version of your course page, you will find two modules on the left in the Table of Contents: Assignments and Discussion Groups.
By clicking on Assignments, you should see the following notice at the top of the page:
Assignments will be posted here.
Assignments 2 and 3 can be completed either individually or in pairs. Once registered as a group, you will find the assignment details in the designated area below. To form a group, select “Groups” in the navigation bar and then choose “Available Groups” to find options for Assignments 2 and 3.
Following these instructions, click on “Groups” in the navigation bar. You will see a blue button labeled “View Available Groups.” Click on it to view the groups. You may need to scroll down to see the latest groups, such as those for Assignment 3.
What will be the format of Quiz 1?
- When: Refer to the course Schedule page.
- Format: Multiple-choice and true/false questions.
- Scope: Lectures 1 to 6, with a focus on lectures 3 to 6.
- The numbering corresponds to that used in the URLs, for example, turcotte.xyz/teaching/csi-4506/lectures/07/slides.html is Lecture 7. Consequently, the quiz covers the lectures from September 4 to September 25 inclusively. The only lecture excluded is the one on September 30, Lecture 7.
- Content: Emphasis on conceptual questions rather than intricate technical details (e.g., reshaping a numpy array).
- Question Types: Includes code excerpts or diagrams requiring identification of the correct statements.
- Number of Questions: Expect 25 to 35 questions.
- In class: You will take the quiz in class on a paper questionnaire. Please arrive on time so that we can start as early as possible (the total time available depends on your arrival time). We must collect all copies 10 minutes before the end of the class to allow the next class to begin on time.
- Student ID Card: Please bring your student ID card.
What will be the format of Quiz 2?
- When: November 13, 2024, during class. Refer to the course Schedule page.
- Format: Multiple-choice and true/false questions.
- Scope: Lectures 7 to 15.
- The numbering corresponds to that used in the URLs, for example, turcotte.xyz/teaching/csi-4506/lectures/07/slides.html is Lecture 7. Consequently, the quiz covers the lectures from September 30 to November 6 inclusively.
- Content: Emphasis on conceptual questions rather than intricate technical details (e.g., reshaping a numpy array).
- Question Types: Includes code excerpts or diagrams requiring identification of the correct statements.
- Number of Questions: Expect 25 to 35 questions.
- In class: You will take the quiz in class on a paper questionnaire, but we will also use Scantron sheets (both). Please arrive on time so that we can start as early as possible (the total time available depends on your arrival time). We must collect all copies 10 minutes before the end of the class to allow the next class to begin on time.
- Pencil: Please bring pencils, as we will be using Scantron sheets to facilitate the grading process.
- Student ID Card: Bring your student ID card.
- Process: The teaching assistants will assist with proctoring, and we will have multiple attendance sheets to ensure efficiency (I’m learning).
What will be the format of the final examination?
- When: December 9, 2024, 7-10 PM, 801 King Edward (MNO) 1 & 2.
- The schedule in uoZone (under Applications, select My Exam Schedule) is the official document (not this web page).
- Check your exam timetable regularly since exam times and locations can change after the initial posting.
- Format: Multiple-choice and true/false questions.
- Scope: All the lectures and assignments.
- Content: Emphasis on conceptual questions rather than intricate technical details (e.g., reshaping a numpy array).
- Question Types: Includes code excerpts or diagrams requiring identification of the correct statements.
- Number of Questions: Approximately 75 questions.
- Pencil: Please bring pencils, as we will be using Scantron sheets to facilitate the grading process.
- Student ID Card: Bring your student ID card.
How to Effectively Prepare for Quizzes and Examinations?
- Thoroughly Review Lecture Materials:
- Review both the presentations and their accompanying Jupyter Notebooks, as they contain complementary information.
- Master Key Concepts:
- Carefully study the lecture notes to gain a comprehensive understanding of essential concepts. These include the definitions and principles of artificial intelligence and machine learning, training linear models such as logistic regression, and techniques for model fitting and evaluation. Delve into cross-validation methods, hyperparameter tuning, and the fundamentals of machine learning engineering. Additionally, study the building blocks of neural networks, various search algorithms (including logistic regression, neural networks, BFS, DFS, and A*), and heuristic functions. Explore local search strategies like hill climbing and simulated annealing, as well as population-based metaheuristics. Finally, familiarize yourself with adversarial algorithms, the minimax algorithm, Alpha-Beta pruning, Monte Carlo Tree Search, and reinforcement learning.
- Summarize and Synthesize Information:
- Create your own summaries or concept maps for each lecture to reinforce comprehension and retention.
- Engage Deeply with Code:
- Analyze Code Examples: Examine all code snippets from lectures line by line to understand their contributions to overall functionality.
- Experiment with Code: Modify parameters and functions in the code to observe the effects of these changes, enhancing your understanding.
- Reimplement Algorithms: Try implementing key algorithms like A* search or simulated annealing from scratch without consulting your notes.
- Develop Original Questions:
- Formulate your own questions based on lecture content and exchange them with peers for additional practice.
- Interpret Graphs and Visuals:
- Analyze graphs presented in lectures, such as those depicting algorithm performance or heuristic function behavior.
- Apply and Analyze Concepts:
- Apply learned algorithms to novel scenarios, such as adapting 8-Puzzle solutions to the 15-Puzzle.
- Analyze algorithm performance, considering factors like time complexity and optimality, to understand why certain algorithms excel in specific contexts.
- Explore Hyperparameter Tuning:
- Understand techniques like grid search and cross-validation by applying them to new datasets.
- Interpret cross-validation results, focusing on metrics such as mean accuracy and standard deviation.
- Engage in Collaborative Learning:
- Form study groups to discuss complex concepts, collaboratively solve problems, and teach topics to one another, which aids in solidifying your understanding.
- Practice with Real-world Datasets:
- Utilize datasets from OpenML, such as ‘diabetes’ and ‘adult’, to practice tasks like data splitting, model training, and evaluation.
- Experiment with different data preprocessing steps to observe their impact on model performance.
- Prepare for Code Analysis Questions:
- Anticipate questions that require predicting code outputs or identifying errors.
- Manage Your Study Time:
- Create a structured study schedule that allocates more time to challenging topics.
- Seek Clarifications:
- Proactively ask questions or seek clarification on any uncertainties well before the exam.
- Utilize office hours or discussion forums for additional support.
- Maintain a Balanced Lifestyle:
- Ensure adequate rest, nutrition, and exercise to keep your mind sharp.
- Utilize Stress Management Resources:
How do I access the slides as Jupyter Notebooks?
- Course Schedule Page: Visit the course schedule page.
- Lecture Columns: Each lecture has a Prepare column and a Presentation column. The Presentation column links to HTML slides as shown in class.
- Prepare Column: Links to a page with suggested readings, videos, exercises, and slides as Jupyter Notebooks.
- Advantages of Jupyter Notebooks:
- Editable and executable examples.
- Includes speaker notes.
- Editable for personal note-taking.
- Weekly Materials: This information is also accessible from the weekly materials section.
How do I access the slides as PDF?
- HTML Document Menu: At the bottom left of each presentation page.
- Menu Options: Select Tools, then PDF Export Mode (shortcut ‘e’).
- Print: The page will reload with a print-friendly stylesheet. Use your browser’s file menu to print the document as a PDF. You can adjust the layout to display multiple slides per page if desired.